Sam*_*Sam 0 matlab image image-processing
我有一个图像,我想在MATLAB中使用它.但是,我正在寻找一种方法,通过该方法我能够自动发现我的图像是二进制(0和1)或连续的.有一段代码的解决方案吗?
对于初学者,你不能正式谈论二进制或连续图像.数字图像具有一组离散值,取决于它们的格式和像素逐位表示,取自有限值集.
例如,"二进制"图像将具有2级灰度(白色和黑色),由0或1或任何其他值组合表示,例如,级别0,255的图像仍然是"二进制".用于8位表示(即每像素8位)的灰度图像将具有2^8
从min
0(黑色)到max
255(白色)的离散强度级别.
因此,您可以测试输入图像中唯一灰度级别的数量,即:
I = imread(image_filename);
if length(unique(I))==2,
flag_binary = true
end
Run Code Online (Sandbox Code Playgroud)
示例:
I = imread('cameraman.tif');
>> disp(flag_binary)
0
I = imread('circles.png');
>> disp(flag_binary)
1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
226 次 |
最近记录: |