Hello David,
One of the things I found in my online searches was a Japanese web site that did what you describe, sadly it was inneffectual. Using my steps I am able to vary the effect considerably. What I like about doing stuff like this is starting out with a little window into it and then that broadens out to encompass all sorts of images in different ways. There are many ways to achieve the same thing even in Ps. I found this online after a search for Adaptive Threshold:
http://www.programmersought.com/article/3896388106/ sadly the results they achieve are rubbish all highlights gone, very similar to the Japanese site. The fact is that each image is different and needs to be treated in differing ways, it's one of the joys of editing.
Thank you for your concern though it's very good of you to spare the time to explain.
Cheers - J
Thats ok, pleased you have something that works for you, the toolset I use has an Adaptive Threshold technique and a Local Adaptive Threshold Technique, the latter works very well especially with quite large local areas (eg 100-200 pixels), FYI a description is below (if you do think you would like to try then I'm more than happy to point you at a demo version of the software)
Threshold Adaptive
Toolbox: Preprocessors
Supported ROI(s): Rectangle, Annulus, Torus, CircleArea, Polygon, UserMask,
Supported image type(s): MONO8,
Description: Adaptive Threshold. Calculate threshold based upon the average pixel value in the ROI.
Adaptive Threshold applies thresholding to a gray-scale image using thresholds based on local pixel values. Each threshold value is set to the local mean pixel value plus an offset threshold. The local mean is calculated over the complete ROI.
The method of calculating the offset is specified by the threshold method. The offset value is determined using the threshold.
When the threshold method is set to absolute, the threshold value is simply added to the local mean value to determine the threshold values. In the other modes the threshold parameter is used as multiplying factor to determine the threshold offset value. In the MeanMin mode the difference between the local mean pixel value and the image minimum pixel value is multiplied by the threshold value and the resulting offset value is added to the local mean. In the MeanMax mode the difference between the image maximum and the local mean is multiplied by the threshold value to determine the offset. In the StdDev (standard deviation) mode the offset is determined by multiplying the standard deviation of the pixel values in the neighborhood by the threshold value. Note that the standard deviation is calculated over the same neighborhood as the local mean value, while the minimum and maximum used in the previous two modes described are the minimum and maximum over all pixel values in the ROI. In Histogram mode, the local threshold is chosen between the two dominant local histogram modes such that within histogram mode, variance is minimized. In that mode, the threshold must be set to zero.
If invert is FALSE, pixels above the threshold are turned 'on'. If invert is TRUE, pixels below and including the threshold are turned off.
Parameters:
• "threshold method" [Enum]
Values:
"Mean (0)"
"MeanMin (1)"
"MaxMean (2")
"StdDev (3)"
"Histogram (4)"
• "threshold" [Double]
Default value: 0
Minimum value: 0
Maximum value: 255
• "invert" [Bool]
Default value: 0 - False
Outputs:
• None
Threshold Local Adaptive
Toolbox: Preprocessors
Supported ROI(s) :Rectangle, Annulus, Torus, CircleArea, Polygon, UserMask,
Supported image type(s): MONO8,
Description: Local Adaptive Threshold. Calculate threshold based upon the average taken within smaller rectangular samples inside the ROI.
Local Adaptive Threshold applies thresholding to a gray-scale image using thresholds based on local pixel values. Each threshold value is set to the local mean pixel value plus an offset threshold. The local mean is calculated over a rectangular region (neighborhood) around the pixel, whose size is specified by the local width and local height parameters.
The method of calculating the offset is specified by the threshold method. The offset value is determined using the threshold.
When the threshold method is set to absolute, the threshold value is simply added to the local mean value to determine the threshold values. In the other modes the threshold parameter is used as multiplying factor to determine the threshold offset value. In the MeanMin mode the difference between the local mean pixel value and the image minimum pixel value is multiplied by the threshold valueand the resulting offset value is added to the local mean. In the MeanMax mode the difference between the image maximum and the local mean is multiplied by the threshold value to determine the offset. In the StdDev (standard deviation) mode the offset is determined by multiplying the standard deviation of the pixel values in the neighborhood by the threshold value. Note that the standard deviation is calculated over the same neighborhood as the local mean value, while the minimum and maximum used in the previous two modes described are the minimum and maximum over all pixel values in the ROI. In Histogram mode, the local threshold is chosen between the two dominant local histogram modes such that within histogram mode, variance is minimized. In that mode, the threshold must be set to zero.
If invert is False, pixels above the threshold are turned 'on'. If invert is True, pixels below and including the threshold are turned off.
Parameters:
• "local width" [Integer] - local region width.
Default value: 10
Minimum value: 2
Maximum value: 10000
• "local height" [Integer] - local region height.
Default value: 10
Minimum value: 2
Maximum value: 10000
• "threshold method" [Enum]
Values:
"Absolute (0)"
"MeanMin (1)"
"MaxMean (2)"
"StdDev (3)"
"Histogram (4)"
• "threshold" [Double]
Default value: 0
Minimum value: 0
Maximum value: 255
• "invert" [Bool]
Default value: 0 - False
Outputs:
• None