Comparing Image wih histogram
2 次查看(过去 30 天)
显示 更早的评论
hi, I have a histgram, I want to travel through each patch of image and compare with histogram, if the patchsize is greater than threshold value make those pixel white else black. to get Patches I am using 'blockproc' I dont think whether Or not it could work for this situation.
fun = @(blk) std2(blk.data) * ones(size(blk.data));
imblk = blockproc(im, [patchsz patchsz], fun);
[m1 n1 nc] = size(imblk);
but I Think this would Also effect the Image Patches that is not needed, Just Want travel through Each patch in its original state, and if Image Pach Size > threshold(histogram) Set that Patch White else Black,
Regards
0 个评论
采纳的回答
Image Analyst
2013-6-14
I don't understand what you're asking. Is the threshold going to change on a black-by-block basis? If not, simply do
binaryImage = grayImage > thresholdValue;
Next, your function is doing the standard deviation filter, which is done by stdfilt(), but it moves the window over a pixel at a time and not in "jumps" like blockproc does. This should give a smoother looking image while blockproc will give a blocky (bad) looking image.
2 个评论
Image Analyst
2013-6-14
You can just do what I said:
binaryImage = grayImage > thresholdValue;
however it's not clear how those patches where the histogram is to be computed are chosen (they seem to imply it's by manually drawing the patches), and if the threshold computed from those patches is applied to the whole image, or just to those patches. Those questions would need to be answered before the solution is complete.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!