数字图像处理算法整理
更新时间:2023-08-16 03:03:01 阅读量: 教学研究 文档下载
数字图像处
数字图像算法整理
1. 图像锐化
2. H=imread('C:\Users\home\Pictures\zhengqiji.jpg'); 3. H=rgb2gray(H); 4. [M,N]=size(H);
5. G2=H;B2=H;g=0;K=A;gmax=0;
6. --------------------用索贝尔算子对图像锐化------------------------- 7. for i=2:M-1
8. for j=2:N-1
9. GX2=(H(i+1,j-1)+2*H(i+1,j)+H(i+1,j+1))-(H(i-1,j-1)+2*H(i-1,j)+H(i-1,j+1)); 10. GY2=(H(i-1,j+1)+2*H(i,j+1)+H(i+1,j+1))-(H(i-1,j-1)+2*H(i,j-1)+H(i+1,j-1)); 11. 12. 13. 14. 15.
G2(i,j)=abs(GX2)+abs(GY2); if G2(i,j)>0 B2(i,j)=1; else B2(i,j)=0;
end
16. end 17. End
18. --------------------------------------------------------------- 19. 20. 21. 22. 23.
---------------给图像填充颜色--------------------------------- for r=1:M for t=1:N if B2(r,t)==1 E(r,t)=255;
24. else E(r,t)=0;%给图像填充颜色% 25. end
26. end 27. End
28. ------------------------------------------------------------- 29. imshow(E);title('显示图像');
数字图像处
2.图像腐蚀算法
H=imread('C:\Users\Administrator\Desktop\zhengqiji.jpg'); H=rgb2gray(H); [M,N]=size(H); G2=H;B2=H; Express=H; bottle=zeros(M,N);
-----------------------图像锐化--------------------------------- for i=2:M-1 for j=2:N-1
GX2=(H(i+1,j-1)+2*H(i+1,j)+H(i+1,j+1))-(H(i-1,j-1)+2*H(i-1,j)+H(i-1,j+1));
GY2=(H(i-1,j+1)+2*H(i,j+1)+H(i+1,j+1))-(H(i-1,j-1)+2*H(i,j-1)+H(i+1,j-1));
G2(i,j)=abs(GX2)+abs(GY2); if G2(i,j)>0 B2(i,j)=1;
数字图像处
else B2(i,j)=0; end end end
--------------------------------------------------------------------- 图像腐蚀---------------------------------
for i=2:M-1 for j=2:N-1
if&& B2(i,j+1)==1
bottle(i,j)=B2(i,j); end end end
---------------------填充黑白颜色-------------------------
for r=1:M for t=1:N
if bottle(r,t)==1 Express(r,t)=255;
else Express(r,t)=0; end end end
--------------------------------------------------------------------- subplot(1,2,2);
imshow(Express);title('显示图像');
数字图像处
3.图像膨胀
H=imread('C:\Users\home\Pictures\zhengqiji.jpg'); H=rgb2gray(H); [M,N]=size(H); G2=H;B2=H; Express=H; bottle=zeros(M,N);
------------------------图像锐化-------------------------- for i=2:M-1 for j=2:N-1
1,j)+H(i-1,j+1));
1)+H(i+1,j-1));
G2(i,j)=abs(GX2)+abs(GY2); if G2(i,j)>0 B2(i,j)=1; else B2(i,j)=0;
数字图像处
end end end
------------------------------图像膨胀------------------------- for i=2:M-1 for j=2:N-1 if B2(i,j)==1 bottle(i,j-1)=1;
bottle(i-1,j)=1; bottle(i+1,j)=1; bottle(i,j+1)=1; end end end for r=1:M for t=1:N
if bottle(r,t)==1 Express(r,t)=255;
else Express(r,t)=0;%填充颜色 % end end end
------------------------------------------------------------- subplot(1,2,2);
imshow(Express);title('显示图像');
--------------------------填充颜色----------------------------
数字图像处
4.图像分割
H=imread('C:\Users\Administrator\Desktop\zhengqiji.jpg'); H=rgb2gray(H); T1=mean(H(:)); a=T1;
[m,n]=size(H); B=zeros(m,n); D=H;
t=0;T=0;bottle1=0;bottle2=0;n1=0;n2=0;
---------------迭代法确定阈值------------------------------ while T1~=T
T=T1;bottle1=0;bottle2=0;n1=0;n2=0; for i=1:m for j=1:n
B(i,j)=H(i,j); if B(i,j)>T
(1)
数字图像处
(2) else bottle2=bottle2+B(i,j); n2=n2+1; (3) T1=(bottle1/n1+bottle2/n2)/2; end end end end
-------------------------用阈值对图像进行处理---------------------- for i=1:m for j=1:n if H(i,j)>T D(i,j)=0; else
D(i,j)=H(i,j);
end end end
imshow(D)
数字图像处
5.图像匹配
D=imread('C:\Users\Administrator\Desktop\zhengqiji.jpg'); B=imread('C:\Users\Administrator\Desktop\zhengqiji1.jpg'); D=rgb2gray(D); B=rgb2gray(B) [M,N]=size(D); [m,n]=size(B); D1=D(1:m,1:n); inital1=10000000000;
-----用原图像和小图像中矩阵的灰度值相减,后的累加和判断相似程度,找到匹配点---- for i=1:M-m+1 for j=1:N-n+1
D1=D(i:i+m-1,j:j+n-1); inital2=sum(sum(abs(D1-B)));
if inital1>inital2 inital1=inital2; ANSWER1=i; ANSWER2=j; end end end
-------------------------在原图像中显示方框,表示出小图像位置--------- data = imread('C:\Users\Administrator\Desktop\zhengqiji.jpg'); pointAll = [ANSWER1,ANSWER2]; windSize = [m,n];
[state,results]=draw_rect(data,pointAll,windSize); return;
-----------------------------方框显示函数------------------------(不用
数字图像处
掌握)
function [state,result]=draw_rect(data,pointAll,windSize,showOrNot) % 函数调用:[state,result]=draw_rect(data,pointAll,windSize,showOrNot) % 函数功能:在图像画个长方形框
% 函数输入:data为原始的大图,可为灰度图,可为彩色图
% pointAll 框的左上角在大图中的坐标(每行代表一个坐标),
% 注意:在图中的坐标系为第一列为y,第二列为x(很奇怪的) % windSize 框的大小 windSize=[112,92] 分别表示长宽 % showOrNot 是否要显示,默认为显示出来 % 函数输出:state -- 表示程序结果状态 % result - 结果图像数据
% 函数历史: v0.0 @2013-01-27 created by Aborn
if nargin < 4 showOrNot = 1; end
rgb = [255 255 0]; % 边框颜色 lineSize = 3; % 边框大小,取1,2,3
windSize(1,1)=windSize(1,1); windSize(1,2) = windSize(1,2);
if windSize(1,1) > size(data,1) ||... windSize(1,2) > size(data,2)
state = -1; % 说明窗口太大,图像太小,没必要获取
disp('the window size is larger then image...'); return;
数字图像处
end
result = data; if size(data,3) == 3 for k=1:3
for i=1:size(pointAll,1) %画边框顺序为:上右下左的原则
result(pointAll(i,1),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1)+windSize(i,2),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2),k) = rgb(1,k);
if lineSize == 2 || lineSize == 3
result(pointAll(i,1)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)-1,k) = rgb(1,k);
result(pointAll(i,1)+windSize(i,2)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)-1,k) = rgb(1,k);
if lineSize == 3
result(pointAll(i,1)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)+1,k) = rgb(1,k);
result(pointAll(i,1)+windSize(i,2)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);
result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+1,k) = rgb(1,k);
end
数字图像处
end end end end
state = 1;
if showOrNot == 1 figure;
imshow(result); end
原图
数字图像处
截图
显示结果
- 公务员上岸同学告诉你,怎样走出面试中常见的十大误区
- 作表率,我们怎么办(办公室主任)
- 乘务员安全责任书
- 增员面试流程
- 河南省焦作市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 最新4社区工作者面试题
- 个人简历表
- 男教工体检必检项目
- 河南省兰考县规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 兼职译员测试稿
- 河南省开封市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 永州职业技术学院校园总体规划-永州职业学院
- 最新5、培训科长笔试题(答案)
- 2019雅商酒店境外人员登记培训稀有资料,不可错过
- 小学教师求职简历范文
- 红酒知识与礼仪
- 春节给领导拜年的短信拜年词
- 2019年上半年中小学教师资格证结构化面试真题1
- 20XX年县干部培训工作目标
- 硬笔试听课
- 图像处理
- 算法
- 整理
- 数字
- 门店员工着装的标准
- 山东轻工业学院2013年硕士研究生招生简章
- 俞敏洪《奋斗才能成功》读后感
- 学校食堂入库出库单
- ARM_Cortex-M3内核结构
- 蒙牛乳业上市架构
- 全套工程监理竣工预验收报告2
- 2012年上海市杨浦区高三化学一模试卷和答案
- 23省份2011年平均工资排行
- Struts1.X学习笔记
- 签约歌手合同
- 职称申报诚信承诺书
- 四川大学金融学考研笔记讲义考研真题考研履历汇总贴
- 个性决定一生《口袋妖怪复刻》精灵性格系统
- 蛋白质结构与功能的关系
- 中国现代文学名词解释
- SAP Sybase管理系统客户成功案例-印度铁路公司解决方案
- 普通话比赛方案
- 架空线电流计算
- 2018-2019年初中地理天津初二水平会考模拟试卷【8】含答案考点及解析