5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数
来源:互联网 发布:简单辅助软件多少钱 编辑:程序博客网 时间:2024/05/14 11:03
5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数
I1=imread('cell.bmp');
I2=imcrop(I1,[1 1 307 377]);
J=imadd(I,I2);
subplot(1,4,1),subimage(I);
subplot(1,4,2),subimage(J);
J1=imsubtract(J,I2);
subplot(1,4,3),subimage(J1);
C=J1-I;
count=0;
for i=1:378;
for j=1:308;
if C(i,j)~=0;
count=count+1;
end
end
end
问题一:
RGB=imread('Liutong.jpg');
I=rgb2gray(RGB);I1=imread('cell.bmp');
I2=imcrop(I1,[1 1 307 377]);
J=imadd(I,I2);
subplot(1,4,1),subimage(I);
subplot(1,4,2),subimage(J);
J1=imsubtract(J,I2);
subplot(1,4,3),subimage(J1);
C=J1-I;
count=0;
for i=1:378;
for j=1:308;
if C(i,j)~=0;
count=count+1;
end
end
end
subplot(1,4,4),subimage(C);
文字描述:程序实现功能,J=I+I2,J1=J-I2,,J1和I表示的矩阵相等 但显示出的图像不同,为什么?程序运行结果如下:
问题解答:
uint最大值255 在I和I2相加的时候超过255的部分会变成255 所以J1=J-I2不等于I 所以显示的图片不同
比如:I中一像素值大小220,I2一像素值大小46,220+46=266 会变成255 255-46=209 不等于220
解决方法:I=double(rgb2gray(RGB));
I1=double(imread('cell.bmp')); 转换成double类型计算。
问题二:
C=J1-I 矩阵值为零 按上述所说,J1和I显示图像不同,矩阵值不同,那相减问什么为零?
问题解答:
暂未解决。
0 0
- 5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数
- 《Visual C++ 数字图像处理典型算法及实现》学习记录
- 6.数字图像处理及MATLAB实现-马赛克
- Huffman编码用MTLAB的实现及编码注释----------Matlab
- Visual C++数字图像处理典型算法及实现
- 【数字图像处理】直方图均衡化详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 【数字图像处理】Canny边缘检测详解及编程实现
- 数字图像处理应用领域及所需学习的学科知识
- 汇编语言实验指导教程及例示
- 数字图像处理及应用 阅读笔记
- MATLAB数字图像处理基本概念及图像文件读取
- 数字图像处理及图像频域
- bmp数字图像处理实验
- 14.玩转Spring Boot 多数据源
- 中国话
- 构造方法
- ubuntu中sublime3在一个项目中不能同时打开多个文件
- android 4g、WiFi
- 5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数
- 布尔值为false的5种情况
- 解开Android应用程序组件Activity的"singleTask"之谜
- Unity精品FPS手游《全民枪战》测评精讲
- 折半查找法
- Oracle Navicat建立外键关系
- Java IO包装流如何关闭?
- 数据仓库模型开发方法学(书摘备查)
- CDN缓存那些事