Matlab 如何在图像的小区域上执行图像增强?
我想增强图像的一部分。我想增强矩形区域内的区域(尤其是绿色矩形区域上的区域)使用类似于Matlab 如何在图像的小区域上执行图像增强?,matlab,image-processing,Matlab,Image Processing,我想增强图像的一部分。我想增强矩形区域内的区域(尤其是绿色矩形区域上的区域)使用类似于ginput的函数,您可以在图像上选择一个点,并且具有矩形的宽度和高度值,您可以从图像中裁剪矩形。然后,您可以使用任何功能(如imadjust)来增强裁剪的零件 a= 100; % height b= 100; % width I = imread('myimage.png');
ginput
的函数,您可以在图像上选择一个点,并且具有矩形的宽度和高度值,您可以从图像中裁剪矩形。然后,您可以使用任何功能(如imadjust
)来增强裁剪的零件
a= 100; % height
b= 100; % width
I = imread('myimage.png'); % read the image file
figure;imagesc(I); % plot the image
[x,y] = ginput(1); % select a point
I2 = I(:,:,1); %
Ic = imcrop(I2,[x-a/2 y-b/2 a b]); % crop a rectangle around the selected point
J = imadjust(Ic); % adjust the contrast
如果希望能够选择矩形,可以使用以下命令:
imshow('myimage.png');
rect = getrect;
你可以用
这将要求您绘制一个矩形,
rect
将包含该矩形的坐标I2
包含裁剪后的图像,然后您可以在该矩阵上应用任何您想要的功能。增强是什么意思?如果你有矩形的坐标,那么你可以只对该区域应用任何函数,因为它被视为一个矩阵。调整对比度。IMCONTRUST不工作如何获得矩形的坐标j=imadjust(Ic)是正确的。但它没有产生足够的对比度。对绿色矩形有什么建议吗?@abcd-试试另一种方法。。。像histeq
。一旦应用histeq,我丢失了所有连接的组件,分割结果不好
[I2 rect] = imcrop(I)