我将使用CLAHE方法进行医学图像处理(我使用http://www.mathworks.com/matlabcentral/fileexchange/22182-contrast-limited-adaptive-histogram-equalization-clahe/all_files中的代码)和区域增长(http://www.mathworks.com/matlabcentral/fileexchange/19084-region-growing/content/regiongrowing.m)
如果我对图像使用双数据类型,该函数可以运行。但是将图像转换为double会使其成为二进制图像。
任何人都知道如何使图像仍然是双倍但不是二进制图像?
答案 0 :(得分:1)
如果您的图片为img
,请执行im2double(img)
。请参阅mathworks参考站点上的im2double。
答案 1 :(得分:1)
如果我已正确理解您的评论,您正在尝试将二进制图像转换为灰度图像。如果是这样,这是不可能的,因为你已经抛弃了所有强度信息而不是简单的0/1
图像。
如果您的问题是关于如何将彩色/灰度图像转换为双倍,那么LightningIsMyName可以为您提供答案。这是一个小例子,你可以玩,看看你真正想要的东西:
img=imread('peppers.png'); %#read in MATLAB's stock image
imgDouble=im2double(img); %#convert uint8 to double
imgGray=rgb2gray(img); %#convert RGB image to grayscale
imgGrayDouble=im2double(imgGray);%#convert grayscale image to double.
以下是您的颜色和灰度图像的外观: