how to compute min for image with black border?

2 次查看(过去 30 天)
Hi, I have an image with black border in 2000 * 2000.after using min function the output is 0 or 1.that The minimum is related to border of the image that is black.how to compute min or max other than black border? my code is here.by this code output min is NaN.
img=imread('image.tif');
figure(1),imshow(img),title('original');
[M,N]=size(img);
for i=1:M
for j=1:N
if img(i,j)<1
img(i,j)=NaN;
end
end
end
minofimg=min(min(img));

采纳的回答

Chad Greene
Chad Greene 2016-6-8
What about
min(img(img~=0))
That is, the minimum value of img values that are not zero.
  6 个评论
Chad Greene
Chad Greene 2016-6-17
You can specify the range of rows and columns you want to keep. For example start with this image:
img = imread('cameraman.tif');
image(img)
colormap(gray)
And clip the first 49 rows, and the last 47 rows. Also clip the first 124 columns:
keeprows = 50:209;
keepcols = 125:256;
img_trimmed = img(keeprows,keepcols);
image(img_trimmed)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by