tiff file data types

4 次查看(过去 30 天)
K.G
K.G 2017-12-30
Hi, I am trying to write a function that takes a tif file as imageIn, then converts the data type into uint8 and gives out imageOut. the problem is that when I give a file which is not in logical data type format, it gives this error:
Matrix dimensions must agree. Error in Imfunction if class(image) == 'logical'
I dont understand how to fix the code. could someone help me figure it out? here is the code:
function imageOut = Imfunction(imageIn)
image = imread(imageIn);
if class(image) == 'logical'
image = uint8(image) .* uint8(255);
end
imwrite(image,'imageOut');
end

回答(1 个)

Walter Roberson
Walter Roberson 2017-12-31
Use islogical() instead of comparing the class.
If you must compare the class then use strcmp instead of == .
If you must use == then use R2016b or later and
if string(class(image)) == 'logical'

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by