比较多个图像(通过边缘检测或最强的黑暗与光明之间的梯度)

5视图(30天)
你好,
首先:我很新的matlab所以不要怪我问。
我想要一些照片(照片5)进行比较。我测试一个光,每小时我拍照,然后进行比较,看看'cut-off的移动。如果“切断”行动,我想看看多少发生了变化。
每个小adive会帮助我!
(我uploadet心理承受力。在我的测试中,这些照片将死胡同一样。但也许桁3小时“截止将微乎其微。这就是我想se。如果我能得到一个数字最后像2 = =转移2毫米。)
THX的家伙!
2的评论

登录置评。

答案(2)

图像分析
图像分析 2020年5月7日
我不知道什么是“截止”。阴影线吗?你想要的行数图像中每一列的影子吗?类似的
grayImage = imread(文件名);
(行、列,numberOfColorChannels) =大小(grayImage)
如果numberOfColorChannels = = 3
grayImage = rgb2gray (grayImage);
结束
binaryImage = grayImage < someValue;例如someValue % = 100。
shadowRows = 0(1,列);
坳= 1:列
t =找到(binaryImage(:,上校),1,“第一”)
如果~ isempty (t)
shadowRows (col) = t;
结束
结束
情节(shadowRows“b -”)
网格;

图像分析
图像分析 2020年5月11日
试试这个:
clc;%清除命令窗口。
流(“开始运行% s.m。\ n”,mfilename);
关闭所有;%关闭所有数据(除了imtool。)
清晰;%擦掉所有现有的变量。或者clearvars如果你想要的。
工作空间;%确定工作区面板显示。
格式长g;
格式紧凑的;
字形大小= 20;
baseFileName1 =“hdg.png”;
baseFileName1 fullFileName1 = fullfile (pwd);
grayImage1 = imread (fullFileName1);
(行、列,numberOfColorChannels) =大小(grayImage1)
如果numberOfColorChannels = = 3
grayImage1 = rgb2gray (grayImage1);
结束
%显示图象。
次要情节(2、3、1);
imshow (grayImage1 []);
impixelinfo
标题(baseFileName1,“字形大小”、字形大小);
%的阈值图像。
thresholdValue = 125;
binaryImage = grayImage1 < thresholdValue;
%最大团。
binaryImage = bwareafilt (binaryImage, 1);
%进行形态开放摆脱网格线。
binaryImage = imopen (binaryImage,真正的(3));
%显示图象。
次要情节(2、3、4);
imshow (binaryImage []);
impixelinfo
标题(baseFileName1,“字形大小”、字形大小);
shadowRows1 = 0(1,列);
坳= 1:列
t =找到(binaryImage(:,上校),1,“最后一次”)
如果~ isempty (t)
shadowRows1 (col) = t;
结束
结束
baseFileName2 =“hdg1.png”;
baseFileName2 fullFileName2 = fullfile (pwd);
grayImage2 = imread (fullFileName2);
(行、列,numberOfColorChannels) =大小(grayImage2)
如果numberOfColorChannels = = 3
grayImage2 = rgb2gray (grayImage2);
结束
%显示图象。
次要情节(2、3、2);
imshow (grayImage2 []);
impixelinfo
标题(baseFileName2,“字形大小”、字形大小);
%的阈值图像。
binaryImage = grayImage2 < thresholdValue;
%最大团。
binaryImage = bwareafilt (binaryImage, 1);
%进行形态开放摆脱网格线。
binaryImage = imopen (binaryImage,真正的(3));
%显示图象。
次要情节(2、3、5);
imshow (binaryImage []);
impixelinfo
标题(baseFileName2,“字形大小”、字形大小);
shadowRows2 = 0(1,列);
坳= 1:列
t =找到(binaryImage(:,上校),1,“最后一次”);
如果~ isempty (t)
shadowRows2 (col) = t;
结束
结束
次要情节(2、3、3);
情节(shadowRows1“b -”)
持有;
情节(shadowRows2的r -)
网格;
包含(“行”,“字形大小”、字形大小);
ylabel (“列”,“字形大小”、字形大小);
标题(“影子位置”,“字形大小”、字形大小);
传奇(“图1”,“图2”,“位置”,“西北”);
%不一样大小的图像由于某些奇怪的原因所以我们不能减去数组,直到我们匹配他们的大小
如果长度(shadowRows1) > (shadowRows2)
shadowRows2(长度(shadowRows1)) = shadowRows2(结束);%延长最后的价值。
其他的
shadowRows1(长度(shadowRows2)) = shadowRows1(结束);%延长最后的价值。
结束
%绘制不同。
diffRows = shadowRows1 - shadowRows2;
次要情节(2、3、6);
情节(diffRows“b -”)
网格;
包含(“行”,“字形大小”、字形大小);
ylabel (“垂直差异”,“字形大小”、字形大小);
标题(“影子位置差异”,“字形大小”、字形大小);
%最大化图。
g = gcf;
g。WindowState =“最大化”
5个评论

登录置评。

类别

找到更多的在图像处理和计算机视觉帮助中心文件交换

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!