matlab纠错---数据类型转化

来源:互联网 发布:工作计划表软件 编辑:程序博客网 时间:2024/05/20 08:01
clear;clc;Image1 = imread('e:\images\zstree.jpg'); gray1=single(rgb2gray(Image1));Image2 = imread('e:\images\zstree1.jpg'); gray2=single(rgb2gray(Image2));center(1:6,1:2)=[22,22;68,22;112,22;22,138;68,138;112,138];for i=11%:34  for j=11%:34     firstline=abs( gray2(i,j)-gray1(19,19) )+abs( gray2(i,j+1)-gray1(19,20))+abs( gray2(i,j+2)-gray1(19,21))+abs( gray2(i,j+3)-gray1(19,22))+abs( gray2(i,j+4)-gray1(19,23))+abs( gray2(i,j+5)-gray1(19,24))+abs( gray2(i,j+6)-gray1(19,25));     secondline=abs( gray2(i+1,j)-gray1(19+1,19))+abs( gray2(i+1,j+1)-gray1(19+1,20))+abs( gray2(i,j+2)-gray1(19+1,21))+abs( gray2(i,j+3)-gray1(19+1,22))+abs( gray2(i,j+4)-gray1(19+1,23))+abs( gray2(i,j+5)-gray1(19+1,24))+abs( gray2(i,j+6)-gray1(19+1,25));     thirdline=abs( gray2(i+2,j)-gray1(19+2,19))+abs( gray2(i+2,j+1)-gray1(19+2,20))+abs( gray2(i,j+2)-gray1(19+2,21))+abs( gray2(i,j+3)-gray1(19+2,22))+abs( gray2(i,j+4)-gray1(19+2,23))+abs( gray2(i,j+5)-gray1(19+2,24))+abs( gray2(i,j+6)-gray1(19+2,25));     forthline=abs( gray2(i+3,j)-gray1(19+3,19))+abs( gray2(i+3,j+1)-gray1(19+3,20))+abs( gray2(i,j+2)-gray1(19+3,21))+abs( gray2(i,j+3)-gray1(19+3,22))+abs( gray2(i,j+4)-gray1(19+3,23))+abs( gray2(i,j+5)-gray1(19+3,24))+abs( gray2(i,j+6)-gray1(19+3,25));     fifthline=abs( gray2(i+4,j)-gray1(19+4,19))+abs( gray2(i+4,j+1)-gray1(19+4,20))+abs( gray2(i,j+2)-gray1(19+4,21))+abs( gray2(i,j+3)-gray1(19+4,22))+abs( gray2(i,j+4)-gray1(19+4,23))+abs( gray2(i,j+5)-gray1(19+4,24))+abs( gray2(i,j+6)-gray1(19+4,25));     sixthline=abs( gray2(i+5,j)-gray1(19+5,19))+abs( gray2(i+5,j+1)-gray1(19+5,20))+abs( gray2(i,j+2)-gray1(19+5,21))+abs( gray2(i,j+3)-gray1(19+5,22))+abs( gray2(i,j+4)-gray1(19+5,23))+abs( gray2(i,j+5)-gray1(19+5,24))+abs( gray2(i,j+6)-gray1(19+5,25));     seventhline=abs( gray2(i+6,j)-gray1(19+6,19))+abs( gray2(i+6,j+1)-gray1(19+6,20))+abs( gray2(i,j+2)-gray1(19+6,21))+abs( gray2(i,j+3)-gray1(19+6,22))+abs( gray2(i,j+4)-gray1(19+6,23))+abs( gray2(i,j+5)-gray1(19+6,24))+abs( gray2(i,j+6)-gray1(19+6,25));     block1=firstline+secondline+thirdline+fifthline+fifthline+sixthline+seventhline     TK1=block1  endend

gray1=single(rgb2gray(Image1));
在没有转化成single之前,所有与gray1/gray2有关的变量全部默认是8位,所以数据最大只能到255。
转换类型后才能正常使用。

0 0