资源简介
通过鼠标选择所需检测点,然后将离检测点最近的外边缘框出。
代码片段和文件信息
clear all
I = imread(‘1.jpg‘);
im = rgb2gray(I);
figure(1)
imshow(I‘border‘‘tight‘‘initialmagnification‘‘fit‘);
axis normal
% x=800;y=1000;
[yxbutton] = ginput(1);
thresh = graythresh(im);
im2 = im2bw(imthresh);
im = double(im);
u = (im/thresh).^2;
ft = find(im>thresh);
ma = max(im(:));
u(ft) = ((ma-im(ft))/(ma-thresh)).^2;
% imshow(uint8(im));
r = 4;
temp = u;
[hl] = size(im);
uc = 0.99;
if r>=2
for k = 1:r
for i = 1:h
for j = 1:l
if temp(ij) <= uc
temp(ij) = temp(ij).^2/uc;
else
temp(ij) = 1-(1-temp(ij).^2)/(1-uc);
end
end
end
end
end
X1 = thresh*sqrt(temp);
X1(ft) = ma-sqrt(temp(ft))*(ma-thresh);
X2 = X1-min(X1(:));
f = edge(uint8(X2)‘canny‘);
f = imfill(f‘hole‘);
str = strel(‘disk‘5);
ima = imdilate(fstr);
ima = imerode(imastr);
ima = bwareaopen(ima300);
x = fix(x);
y = fix(y);
if(ima(xy)==0)
ima = ~ima;
end
[Lm]= bwlabel(ima8);
ima_temp = zeros(hl);
mm = L(xy);
ft = find(L==mm);
ima_temp(ft) = 1;
ima_temp = imfill(ima_temp‘hole‘);
xx = bwperim(ima_temp);
count = 0;
xi = cell(1);
yi = cell(1);
for i=1:h
for j=1:l
if xx(ij)==1;
count = count+1;
xi{1}(count) = i;
yi{1}(count) = j;
end
end
end
xx = xi{1}(:);
yy = yi{1}(:);
imshow(I);
hold on
% xx = [xx(:);xx(1)];
plot([yy;yy(1)][xx;xx(1)]‘.r‘)
% if m~=0
% for ii=1:m
% rectangle(‘position‘status(ii).BoundingBox‘edgecolor‘‘r‘);
% end
% end
% for i = 1:500
% rectangle(‘Position‘[x-i/2y-i/2ii]‘curvature‘[00]‘edgecolor‘‘r‘);
% end
% px = fix(x);
% py_but = fix(y);
% py_top = fix(y);
% while(1)
% if f(pxpy_top)~=1
% py_top = py_top-1;
% elseif py_top ==0
% break;
% else
% break;
% end
% end
% while(1)
% if f(pxpy_but)~=1
% py_but = py_but-1;
% elseif py_but ==l
% break;
% else
% break;
% end
% end
% figure(1)
% imshow(ima);
% hold on
%
% plot(py_toppy_but‘r‘);
% a=cell(1);
% b =cell(1);
% count = 1;
% ed=[-1 -1;0 -1;1 -1;1 0;1 1;0 1;-1 1;-1 0]; %从左上角像素,逆时针搜索
% imgn=zeros(hl); %边界标记图像
% imgn(pxpy) = 2;
% while(1)
% a{1}(count) = px;
% b{1}(count) = py;
%
% for k = 1:8
% tmpi = a{1}(count)+ed(k1); %八邻域临时坐标
% tmpj = b{1}(count)+ed(k2);
% if f
% end
% count = count+1;
% end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 384520 2016-01-21 10:19 1.jpg
文件 429044 2016-01-21 10:20 10.jpg
文件 239889 2016-01-21 10:19 3.jpg
文件 239889 2016-01-21 10:19 5.jpg
文件 223057 2016-01-21 10:20 6.jpg
文件 384520 2016-01-21 10:20 9.jpg
文件 2468 2016-02-27 09:26 bianyuan.m
相关资源
- lle算法详解及matlab代码实现
- 系统辨识大牛Ljung编写的MATLAB系统辨识
- 基于matlab的指纹识别系统271063
- 高斯混合模型matlab代码&文章讲解
- 2D2DPCA人脸识别matlab代码/ORL库
- PCA人脸识别MATLAB代码/ORL库
- matlab mcmc tutorial
- 三相全控整流桥仿真模型+报告+文献
- 基于matlab体绘制技术的医学影像三维
- 深度学习和matlab源代码
- 《MATLAB优化算法案例分析与应用》随
- 国际参考电离层模型IRI的matlab程序
- IRI2016的matlab本地实现
- 刘金琨-先进PID控制及MATLAB 仿真
- 四旋翼MATLAB仿真文件实验报告.zip
- 图像复原实验报告
- 雷达系统的matlab仿真
- MATLAB 最新版本R2014a 官方使用手册
- 光流算法matlab
- MATLAB Codes for Finite Element Analysis
- matlab 复杂网络工具箱
- MATLAB模拟MZM实现OOK和BPSK
- matlab直接调用R语言
- ICP_matlab
- 波导MATLAB仿真
- 使用matlab对5G进行开发指南与白皮书
- libmwins.so
- 基于matlab的坐标转换系统设计与实现
- 用matlab求解单摆模型
- 光学Matlab模拟
评论
共有 条评论