资源简介
1.将药板从黑色背景中分离(药板部分显示为白色,背景显示为黑色);
2. 根据分割结果将药板旋转至水平;
3.提取药板中的药丸的位置信息;
4.对不同颜色药丸的药板进行检测,分析结果上差异,并改进算法使其适应不同颜色的药丸;
代码片段和文件信息
clearclcclose all;
I=imread(‘D:\college\实验二静态图像分割\药板5.tiff‘);
figure;imshow(I);title(‘药板5原图‘)
bw=rgb2gray(I);
bw=im2bw(Igraythresh(bw));
%将药板从黑色背景中分离药板部分显示白色,背景显示黑色
BW1 = imfill(bw ‘holes‘);
figure;imshow(BW1);title(‘药板5分离出的药板‘)
bw=double(bw);
BW=edge(bw‘canny‘);
%边缘检测
[HTR]=hough(BW);
P=houghpeaks(H4‘threshold‘ceil(0.3*max(H(:))));
lines=houghlines(BWTRP‘FillGap‘50‘MinLength‘7);
max_len = 0;
for k=1:length(lines)
xy=[lines(k).point1;lines(k).point2];
len=norm(lines(k).point1-lines(k).point2);
Len(k)=len;
if (len>max_len)
max_len=len;
xy_long=xy;
end
end
[L1 Index1]=max(Len(:));
% 求得线段的斜率
K1=-(lines(Index1).point1(2)-lines(Index1).point2(2))/...
(lines(Index1).point1(1)-lines(Index1).point2(1))
angle=atan(K1)*180/pi
A = imrotate(I-angle‘bilinear‘‘crop‘);%图像旋转
figure; imshow(A);title(‘药板5旋转后的药板‘)
%颜色特征的区域分割
ycbcr=rgb2ycbcr(A);
y=ycbcr(::1);
cb=ycbcr(::2);
cr=ycbcr(::3);
thr_y=graythresh(y);
bw_y=im2bw(ythr_y);
thr_cb=graythresh(cb);
bw_cb=im2bw(cb thr_cb);
B=~(~bw_y+~bw_cb);%将两个颜色空间的图像取反,相加
se=strel(‘disk‘4);%可更改结构元素的大小
B=imclose(Bse);
B=imopen(Bse);
%确定出标记位置
L= bwlabel(~B);
stats = regionprops(L ‘BoundingBox‘);
%在旋转后的图像中标记
figure; imshow(A);title(‘药板5标记药丸位置‘)
hold on;
for i = 1 : length(stats)
if stats(i).BoundingBox(1)>10
rectangle(‘Position‘ stats(i).BoundingBox ‘edgecolor‘ ‘r‘‘LineWidth‘3);%定位标记,‘edgecolor‘ ‘r‘表示边框颜色为红色
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1650 2018-05-05 14:27 实验二静态图像分割\fenge.m
文件 177540 2018-04-30 20:55 实验二静态图像分割\实验指导书2018-实验二.pdf
文件 483132 2017-02-13 16:52 实验二静态图像分割\药板1.tiff
文件 975296 2016-01-15 09:52 实验二静态图像分割\药板2.tiff
文件 975296 2016-01-15 09:56 实验二静态图像分割\药板3.tiff
文件 975296 2016-01-15 09:55 实验二静态图像分割\药板4.tiff
文件 975296 2016-01-15 09:52 实验二静态图像分割\药板5.tiff
目录 0 2018-05-05 14:31 实验二静态图像分割
----------- --------- ---------- ----- ----
4563506 8
- 上一篇:SVM分类与回归的matlab代码
- 下一篇:MATLAB数值计算 课后答案
相关资源
- MATLAB数值计算 课后答案
- SVM分类与回归的matlab代码
- 基于MATLAB-GUI图形界面的数字图像处理
- matlab结课大作业人脸识别是否戴口罩
- 链路预算模型及matlab实现.zip
- 数字图像处理|Matlab-数字图像编码实
- 美颜软件matlab.zip
- 《Matlab遗传算法工具箱及应用》源码
- matlab车牌识别完整程序
- MATLAB43案例
- 数字信号处理及其Matlab的实现
- vhdl 16位乘法器
- 遥感数字图像处理-matlab-主成份及穗帽
- ECO配置好的MATLAB版本
- 基于核回归kernel regression方法的去模糊
- 音乐检索系统MATLAB程序.zip
- MATLAB生成各类LPI雷达信号
- MATLAB实现语音信号的仿真以及软件界
- matlab 2019a中文版文档清晰pdf
- 基于MATLAB的车牌定位.zip
- EWT 经验小波分解 matlab工具箱 toolbox
- 图像复原技术及其MATLAB实现
- 多智能体的编队控制matlab程序.zip
- RNN算法推导过程及代码.zip
- DACE和OODACE,krigingMATLAB工具箱.zip
- 基于运动想象脑电信号的多特征融合
- 姿态测量MATLAB程序
- Mathematica完美教程 - 从入门到精通
- 最优化方法及其matlab程序实现.zip
- matlab的cvx安装包
评论
共有 条评论