matlab中选取圆形区域[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);%imshow(A,[]);k1=150;k2=150;%设定k1、k2方便取一级频谱%figure;imshow(A(k1:m-k1,k2:n-

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 00:51:25
matlab中选取圆形区域[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);%imshow(A,[]);k1=150;k2=150;%设定k1、k2方便取一级频谱%figure;imshow(A(k1:m-k1,k2:n-

matlab中选取圆形区域[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);%imshow(A,[]);k1=150;k2=150;%设定k1、k2方便取一级频谱%figure;imshow(A(k1:m-k1,k2:n-
matlab中选取圆形区域
[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');
Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);
%imshow(A,[]);
k1=150;k2=150;%设定k1、k2方便取一级频谱
%figure;imshow(A(k1:m-k1,k2:n-k2),[]);
%手动选取滤波区域,双击结束选取
%BW=imcrop(A);
%BW=jianqie(A,k1,k2);%矩形选取滤波区域
BW=roipoly(A(k1:m-k1,k2:n-k2));%多边形选取滤波区域
BW2=zeros(m,n);
BW2(k1:m-k1,k2:n-k2)=BW;
figure;imshow(BW2,[]);
这个是我师哥以前写的程序,其中imcrop可以提取矩形区域,jianqie就是一个简单的提取矩形的程序,roiploy可以提取多边形,我想问问,可不可以直接提取圆形啊?我知道多边形多画几条边就可以无限接近于圆,但是效果并不好,有没有一笔直接画出圆形的?

matlab中选取圆形区域[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);%imshow(A,[]);k1=150;k2=150;%设定k1、k2方便取一级频谱%figure;imshow(A(k1:m-k1,k2:n-
哎,看来我上次没给你的问题解决彻底啊...

这个肯定是你想要的了,把这个function保存成.m文件.
它会让你选两个点,第一个点是圆心,第二个是圆上任意一点.

function roi = roicircle(img);
figure;imshow(img);
[y,x] = meshgrid(1:size(img,1),1:size(img,2));
p = ginput(1);
hold on; plot(p(1),p(2),'b*');
hold off;
p = [p; ginput(1)];
t_r = norm(p(2,:)-p(1,:));
[t,r] = cart2pol(y-p(1,1),x-p(1,2));
t(r>t_r) = nan;
r(r>t_r) = nan;
[yn,xn] = cart2pol(t,r);
roi = ~isnan(xn);


使用:



[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');
Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);
%imshow(A,[]);
k1=150;k2=150;%设定k1、k2方便取一级频谱
%figure;imshow(A(k1:m-k1,k2:n-k2),[]);
%手动选取滤波区域,双击结束选取
%BW=imcrop(A);
%BW=jianqie(A,k1,k2);%矩形选取滤波区域
BW=roicircle(A);%%%%%%圆形选取滤波区域%%%%%%%
figure; imshow(BW,[]);

matlab中选取圆形区域[Im1,PathName1] = uigetfile('*.jpg;*.tif;*.bmp','请输入条纹图像');Im=imread(Im1);Im=double(Im);Im=Im(:,:,1);[m,n]=size(Im);%imshow(A,[]);k1=150;k2=150;%设定k1、k2方便取一级频谱%figure;imshow(A(k1:m-k1,k2:n- matlab中怎么在圆形区域进行二重数值积分 各位大侠帮我看看我的matlab程序,我在matlab的GUI中写了这样一段代码:im=imread('1.jpg');im1=rgb2gray(im);im1=medfilt2(im1,[3 3]);im1=double(im1);[ca1,ch1,cv1,cd1]=dwt2(im1,'bior3.7');[M,N]=size(ca1); e=hundungen(M,N,0.1); tt=0.1 利用matlab,在点云数据中,怎么取出一个圆形(已知圆心和半径)区域的点?, matlab中如何任意选取一个矩阵的任意几行几列 在南方CASS中在等高线里选择由图面建立DTM,然后选择(1)选取区域边界,让请选取建模区域边界,怎么选不了~ matlab掌纹图像中如何截取矩形区域子图? 在Word中可以选取矩形区域的文字快的方法? 在matlab中实现在数列中随机选取两个元素 用matlab画长方形,并且在长方形中填充圆形 matlab中随机选取算法怎么能够选出行列式中的6个1 Matlab怎样从多组数据中分别选取1个数进行组合 matlab中怎样从20-100选取不重复的随机整数? matlab 如何在矩阵中选取任意元素?希望有具体的代码 急求一幅图像中目标区域的质心点坐标的matlab的源代码我现在程序是用手工选取一幅图像中的目标,只能求出选中目标在选择框中的质心点坐标,但是需要的是求出目标质心在整幅图像中的坐 ps中如何从一个图片中拷贝出一个圆形区域? 请教一下如何用matlab把已经做好区域标记的图像中每个区域的灰度平均值计算出? matlab中如何提取图像中的一个五边形、或不规则图形区域