数字图像处理算法整理
更新时间:2023-06-05 18:53: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
原图
数字图像处
截图
显示结果
正在阅读:
数字图像处理算法整理06-05
世纪商务英语综合教程三(第三版)课文翻译03-26
中国石油大学《电工电子学》实验报告03-08
塑胶浮球项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案03-16
后备干部考察报告12-12
北京市建筑日照间距规定09-27
数据库系统及应用教程(SQL Server 2008)习题1-8章答案01-16
电梯工程施工监理实施细则12-09
说说我自己作文400字07-11
用经济学智慧解读中国11-15
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 图像处理
- 算法
- 整理
- 数字
- 安全标志和防护措施设置规定
- 数电电子拔河游戏机设计
- (简版)2010武汉市基准地价结果
- 浅析内部审计成果运用存在的问题及对策1
- 从青少年亚文化看当代中国青少年社会适应问题
- 肺腺鳞癌的临床分析
- 连铸坯低倍缺陷的产生原因及控制
- 2012学年度第二学期新政中心小学四年级2班班主任工作计划
- 大学英语四级听力重点场景词汇短语集合
- 2012年12月7日最新珠海北广州南轻轨时刻表
- 第9讲 现代大学制度
- TL9000 Measurement Handbook.
- 中国现代文学名词解释
- 【优化指导】2015届高三人教版语文总复习 第3部分 第1章 第2节Word版含答案
- 23省份2011年平均工资排行
- 全套工程监理竣工预验收报告2
- 高一地理自然环境对人类活动的影响单元测试题
- 中国古代史的一般规律
- 宝洁公司财务分析
- 植物学实验十:被子植物和花