MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 103|回复: 3|关注: 0

[已解决] 两个图像比较不同,出现问题

[复制链接]

新手

7 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
本帖最后由 fighter.suc 于 2017-12-7 22:41 编辑

请问下我想比较两个图像之间的不同处,输出在一个灰色背景图片内,但是输出后的图像有一部分没有进行处理,但是循环次数是足够的,请问下是什么问题,谢谢了,纯新手,望海涵
问题类似与这个问题 ht去掉tp://blog.cs去掉dn.n去掉et/weixin_38631759/article/details/75006655

tu 1

tu 1


,

tu 2

tu 2
,

tu 3

tu 3


图片1是纯白的图片


TIM截图20171207190605.png

  1. A=imread('111.jpg');
  2. B=imread('222.jpg');
  3. conut=0;</div><div>C=zeros(300,533,3);
  4. C=uint8(C);%生成图片C
  5. for i=1:300
  6.      for j=1:533
  7.          for k=1:3
  8.                  if(A(i,j,k)==B(i,j,k))%比较图111和图222中相同的元素,相同则不提取                     
  9.                      C(i,j,k)=128;
  10.                  else
  11.                      C(i,j,k)=B(i,j,k);%不相同,提取图222中与图一不同的部分
  12.                  end
  13.                  conut=conut+1;%记录循环次数
  14.          end
  15.      end
  16. end
  17. figure(1)
  18. subplot(131);imshow(A);
  19. subplot(132);imshow(B);
  20. subplot(133);imshow(C);
复制代码

MATLAB 图像处理与计算机视觉
版块优秀回答者

入门

63 麦片

财富积分


50500


27

主题

454

帖子

12

最佳答案
  • 关注者: 6
发表于 4 天前 | 显示全部楼层
没看明白你想要做什么,也没看明白你上传的几个图之间的关系。此外,你的代码看的很累

新手

7 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
 楼主| 发表于 4 天前 | 显示全部楼层
alexyau 发表于 2017-12-7 21:35
没看明白你想要做什么,也没看明白你上传的几个图之间的关系。此外,你的代码看的很累 ...

就是提取两张图片中不同的元素到第三幅图中,为了区分我把第三幅图的背景设成了灰色
代码也修改了

MATLAB 图像处理与计算机视觉
版块优秀回答者

入门

63 麦片

财富积分


50500


27

主题

454

帖子

12

最佳答案
  • 关注者: 6
发表于 3 天前 | 显示全部楼层 |此回复为最佳答案
fighter.suc 发表于 2017-12-7 22:21
就是提取两张图片中不同的元素到第三幅图中,为了区分我把第三幅图的背景设成了灰色
代码也修改了 ...

想要实现的你的任务,无须这么多语句,直接一句话就可以 C=A-B;
至于你的结果C中为什么出现白色点,那是因为你的B中相应的点的像素值不是255,而是254,而A中的值为255.你的代码本身没问题。以后自己要学会去自己寻找错误原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表