%%%%%%%%%%%%%%%数据类型%%%%%%%%%%%%%%%%%%
%% 类型转换
clear
clc
a=3.14 %默认为double
whos
a=uint8(a) %类型转换,小数部分四舍五入
A=[1.1,2.1,3.1;4.1,5.1,6.5;7.6,8.7,9.7]
A=uint8(A) %对矩阵一样可以
%% im2uint8 图像
clc;clear
A= [-0.5 0.5
0.75 1.5]
g1 = im2uint8(A) %以f1的最小值为0,最大值为255
f2 = uint8(A) %类型转换四舍五入,负数全归为零
%% im2double
clc
clear
A=uint8([0 127 255;64 31 15; 1 2 3])
I=im2double(A) %%输入为uint8的矩阵,输出从[0,255]到[0.0,1.0]
A=[0 127 255;64 31 15; 1 2 3]
I=im2double(A) %%输入为doubel的矩阵,原样输出。
%% im2bw 灰度图象变为二值图像
clc
clear
A=[0 1 0.1;0.4 pi 0.5; 0.51 0.41 0.39]
BW = im2bw(A) %默认以0.5判决,大于为逻辑1,小于为逻辑0
BW = im2bw(A,0.4) % 以0.4判决,输出为逻辑矩阵
BW = im2bw(A,0.5)
BW = im2bw(A,1)
%% str2num
clc
clear
str2num('123')
str2num('123 456')
str2num(['1 2';'3 4'])
%% mat2gray
close all;clear;clc
A=[0 1 -0.1;0.4 pi 0.5; 0.51 0.41 0.39]
K = mat2gray(A) %从[最小值,最大值]映射到[0,1]
I = imread('rice.png');
J = filter2(fspecial('sobel'),I);
K = mat2gray(J);
imshow(I), figure, imshow(J);figure,imshow(K)