图像处理大作业(用霍夫变换检测硬币及统计硬币个数,并设计GUI界面)
实现所给硬币图像中的硬币检测及计数
要求完成功能:自行查找、阅读有关的采用Hough变换来检测图像中圆的资料,设计实现所给图像中圆形的检测,要求检测出图像中硬币个数以及各个硬币的直径。
本题难度系数:★★★★
GUI界面设计参考:MATLAB学习笔记(十一)——MATLAB图形用户界面设计
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html
我采用了霍夫变换对所给图形进行了检测和统计个数:
原图如下:
检测后的效果:
部分matlab代码如下:
I = imread('2.jpg');
I=imresize(I,0.5);
[m,n,l] = size(I);
if l == 3
I = rgb2gray(I); %如果为彩色图 则转化为灰度图
end
imshow(I)
I1=im2bw(I,graythresh(I)); %转化为二值图像
figure(1),imshow(I1)
I2=imopen(I1,strel('disk',3)); %开运算 平滑图像边缘
figure(2),imshow(I2)
I3=imfill(~I2,'holes'); %填充图像空洞
%~I2为对I2图像取反 具体效果可以自己看下
%I22=~I2;
%imshow(I22)
figure(3),imshow(I3)
I4=bwareaopen(I3,1500);%删除二值图像BW中面积小于1500的对象(就是图像中面积小于1500的白色块)
figure(4);imshow(I4);
BW = edge(I4,'sobel');
imshow(BW)
step_r = 1;
step_angle = 0.5;
minr =40;
maxr = 150;
thresh = 0.5;
[Hough_Space,Hough_Circle,para] = hough_circle(BW,step_r,step_angle,minr,maxr,thresh);
figure(1),imshow(I),title('原图')
figure(2),imshow(BW),title('边缘')
figure(3),imshow(Hough_Circle),title('检测结果')
circleParaXYR=para;
%输出
fprintf(1,'\n---------------圆统计----------------\n');
[r,c]=size(circleParaXYR);%r=size(circleParaXYR,1);
fprintf(1,' 检测出%d个圆\n',r);%圆的个数
fprintf(1,' 圆心 半径\n');%圆的个数
for n=1:r
fprintf(1,'%d (%d,%d) %d\n',n,floor(circleParaXYR(n,1)),floor(circleParaXYR(n,2)),floor(circleParaXYR(n,3)));
end
%标出圆
figure(4),imshow(I),title('检测出图中的圆')
hold on;
plot(circleParaXYR(:,2), circleParaXYR(:,1), 'r+');
for k = 1 : size(circleParaXYR, 1)
t=0:0.01*pi:2*pi;
x=cos(t).*circleParaXYR(k,3)+circleParaXYR(k,2);y=sin(t).*circleParaXYR(k,3)+circleParaXYR(k,1);
plot(x,y,'r-');
end
完整源码评论私信
- python图形界面GUI——pyqt5(&图像处理课程作业)
- opencv 图像处理 形态学操作 腐蚀 膨胀 开闭运算 阈值二值化 图像卷积 图像金字塔 Sobel算子 Laplacian 算子 candy边缘检测 霍夫变换 直方图
- 图像处理之霍夫变换(直线检测算法)
- 界面设计,事件处理--GUI编程的核心--
- 图像处理之霍夫变换圆检测算法
- 高级图像处理初步——背景获取、轮廓检测、数量统计
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- opencv + MFC图像处理界面设计与实现
- 图像处理算法基础(八)---霍夫变换直线检测
- [vs+qt+opencv]手把手做GUI图像采集及处理UI交互界面
- Atitit 软件项目的一整套解决方案(gui界面,中间,存储数据库,图像处理,全文搜索)attilax总结
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- 图像处理之霍夫变换(直线检测算法)
- [图像处理] 实验笔记 - 直线检测(line detection)之霍夫变换
- 五种基于RGB色彩空间统计的皮肤检测算法 分类: 视频图像处理 2015-07-24 10:18 48人阅读 评论(0) 收藏
- FPGA设计——图像处理(Sobel边缘检测)
- 【数字图像处理】利用霍夫变换检测圆形