MATLAB鼠标选取ROC区域
2015-08-11 15:08
435 查看
转自:http://www.ilovematlab.cn/thread-111922-1-1.html
使用roipoly来制定图像的感兴趣多边形区域。返回一个二值图像,可以用来作为模板进行模板滤波等操作 BW = roipoly(I, c, r) 返回由向量c和r指定的多边形区域,其中c,r对应的是横纵坐标信息。 返回的BW 是一个按照绘制的多边形为边界的二值化图像;详见matlab百科全书 http://wiki.ilovematlab.cn/index.php?doc-innerlink-roipoly 下面做了一个用 roipoly 做的一个交互式作图程序,希望大家喜欢!! clc clear [filename,pathname,q]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.png'}); if q>0 lujing=strcat(pathname,filename); I = imread(lujing); figure imshow(I); end p=size(I,3); if p==3 r=I(:,:,1); g=I(:,:,2); b=I(:,:,3); I1=rgb2gray(I); else I1=I; end hold on [x,y,c]=ginput(1); m(1)=x; n(1)=y; plot(x,y,'r'); k=2; while(c==1) [x1,y1,c1]=ginput(1); if c1==1 m(k)=x1; n(k)=y1; plot(x,y,'r'); line([m(k-1) m(k)],[n(k-1) n(k)]); k=k+1; c=c1; else break end end line([m(k-1) m(1)],[n(k-1) n(1)]); BW = roipoly(I1,m,n); if p==3 r1=double(r).*double(BW); g1=double(g).*double(BW); b1=double(b).*double(BW); i1=cat(3,r1,g1,b1); figure imshow(mat2gray(i1)); else i2=double(I1).*double(BW); figure imshow(mat2gray(i2)); end |
相关文章推荐
- 第一章谢菲尔德大学的MATLAB遗传算法工具箱(一)
- MATLAB信号处理工具箱函数列表分类
- Matlab程序设计:批量读取文件(Image, excel, txt .etc)
- MATLAB save函数使用
- 欢迎使用CSDN-markdown编辑器
- [Geo][Matlab]地理校正过后tiff图自动掩膜技巧
- Matlab下地理热度图的绘制
- 用MATLAB画误差对比图
- Matlab Codes and Datasets for Feature Learning(转)
- Matlab绘图函数
- MATLAB的符号计算
- Matlab中数据处理和多项式插值与曲线拟合
- PCA的数学原理Matlab演示
- matlab 中的结果取整函数的区分
- Matlab中数组元素引用
- 随机生成正交矩阵(Matlab)
- MATLAB out of memory深层次解决办法
- matlab:启动后无法调用工具包
- matlab实现画散点图(一个x对应多个y)
- MATLAB 成对T检验(paired-ttest)