我想定义ROI .... ' A '我不知道来定义和定义在哪里?
7视图(30天)
显示旧的评论
Shreenand奈克
2022年11月8日
图,imshow (uint8 (DataArray));
标题(“ROI-Extract结构和统计特性”);
持有在
为n = 1:尺寸(1)
矩形(“位置”(n,:),“EdgeColor”,“r”,“线宽”4)
结束
暂停(1)
图中,imshow (edhist);
4评论
Shreenand奈克
2022年11月9日
编辑:图像分析
2022年11月9日
clc;
清晰的所有;
关闭所有
% - - - - - - - - - - - -阅读- - - - - - - - - - - -形象
(文件名、路径名)= uigetfile (‘* . jpg”,“选择图片”);
FilePath = strcat(路径名,文件名);
disp (“图像文件位置”);
disp (FilePath);
[DataArray,地图]= imresize (imread (FilePath), [300650]);
图,imshow (DataArray地图);
标题(输入图像的);
%不同频道
r_channel = DataArray (:: 1);
b_channel = DataArray (:: 2);
g_channel = DataArray (:: 3);
%噪音Remaoval
r_channel = medfilt2 (r_channel);
g_channel = medfilt2 (g_channel);
b_channel = medfilt2 (b_channel);
%恢复通道
rgbim (:,: 1) = r_channel;
rgbim (:: 2) = g_channel;
rgbim (:,:, 3) = b_channel;
图,imshow (uint8 (rgbim));
标题(”“去噪图像);
% RGB灰色
Igray = 0.30 * r_channel + 0.59 * g_channel + 0.11 * b_channel;
图,imshow (uint8 (Igray));
标题(灰度图像的);
%边缘检测
y =双(Igray);
f1 = 0 (3、3、5);
f1 (:: 1) = (1 2 1 0 0 0; 1 2 1];%垂直
f1 (:: 2) = [1 0 1; 2 0 2 1 0 1];%的水平
f1 (:: 3) = (2 2 1; 2 1 1 1 1 1);% 45对角
f1 (:: 4) = (1 2 2;1 1 2;1 1 1];% 135对角
f1 (:: 5) = (1 0 1; 0 0 0 0 1);%不定向的
为i = 1:5
g_im(:,:我)= filter2 (f1(:,:我),y);
结束
[m p] = max (g_im [], 3);
edim =边缘(y,“精明”);
im2 = (p。* edim);
edhist = im2;
图中,imshow (edhist)
标题(边缘检测的);
Avg =非常刻薄(Igray);
如果(Avg > 202 & & Avg < 207)
负载100.垫
elseif(Avg > 175 & & Avg < 180)
负载200.垫
elseif(Avg > 190 & & Avg < 195)
负载500.垫
elseif(Avg > 209 & & Avg < 214)
负载2000.垫
结束
图,imshow (uint8 (DataArray));
标题(“ROI-Extract结构和统计特性”);
持有在
为n = 1:尺寸(1)
矩形(“位置”(n,:),“EdgeColor”,“r”,“线宽”4)
结束
暂停(1)
图中,imshow (edhist);
标题(“ROI-Extract边缘和形状特性”);
持有在
为n = 1:尺寸(1)
矩形(“位置”(n,:),“EdgeColor”,“r”,“线宽”4)
结束
暂停(1)
SFL_Data = 0(大小(A, 1), 6);
SSL_Data = 0(大小(A, 1), 12);
为n = 1:尺寸(1)
imcropgray = imcrop (Igray (n,:));
Img_data = imcropgray;
%的统计特性
%第一级功能
意味着=非常刻薄(Img_data);
方差=非常刻薄(var(双(Img_data)));
峰度=峰度(双(Img_data (:)));
统计= graycoprops (Img_data,对比相关能同质性的);
能量= stats.Energy;
对比= stats.Contrast;
熵=熵(Img_data);
FL_Feat =(熵均值-方差峰度能源对比);
FL_Feat (isnan (FL_Feat)) = 0;
% disp(第一级功能”);
% disp (FL_Feat)
:SFL_Data (n) = FL_Feat;
%二级功能
偏移量= [0 1;1 1;1 0;1 1];% 0°、45°、90°、135°,
GLCM1 = graycomatrix (Img_data,“NumLevels”8“抵消”、补偿);
GLCM2 = graycomatrix (Img_data,“NumLevels”32岁的“抵消”、补偿);
统计= graycoprops (GLCM1,对比相关能同质性的);
stats1 = graycoprops (GLCM2,对比相关能同质性的);
相关=[意思(stats.Correlation) (stats1.Correlation)];
ASM =[意思(stats.Energy) (stats1.Energy)];
同质性=[意思(stats.Homogeneity) (stats1.Homogeneity)];
IDM = [Inverse_Diff (GLCM1) Inverse_Diff (GLCM2)];
Max_prob = [Maximum_Prob (GLCM1) Maximum_Prob (GLCM2)];
熵熵= [(GLCM1)熵(GLCM2)];
SL_Feat = (ASM相关性IDM最大熵概率同质性);
SL_Feat (isnan (SL_Feat)) = 0;
% disp(二级功能)
% disp (SL_Feat)
:SSL_Data (n) = SL_Feat;
结束
ST_feat =[意思(SFL_Data) (SSL_Data)];
disp (的统计特征)
disp (ST_feat);
EF_Data = 0(大小(Avg l), 7);
为l n = l:大小(Avg)
imcropedge = imcrop (edhist Avg (n,:));
%边缘特征
结果= regionprops (imcropedge,“区域”,“EulerNumber”,“定位”,的边界框(“大小),“程度”,…
“周长”,“Centeroid”,极值的,“PixelIdxList”,“ConvexArea”,…
“FilledArea”,“PixelList”,“ConvexHull”,“FilledImage”,“稳健”,…
“ConvexImage”,“图像”,“SubarrayIdx”,“偏心”,“MajorAxisLength”,…
“EquivDiameter”,“MinorAxisLength”,“EulerNumber”);
NR = vertcat (results.BoundingBox);
圆= 0(大小(NR, 1));
离心率= 0(大小(NR, 1));
凸性= 0(大小(NR, 1));
面积= 0(大小(NR, 1));
密实度= 0(大小(NR, 1));
程度上= 0(大小(NR, 1));
可靠性= 0(大小(NR, 1));
为2 = 1:尺寸(NR, 1)
循环(ii) = (((2) .Perimeter结果)。^ 2)。/(4 *(π*(结果(2).Area)));
循环(isnan(循环))= 0;
循环(isinf(循环))= 0;
密实度(ii) =(4 *结果(2).Area *π)/(结果(2).Perimeter)。^ 2;
密实度(isnan(密实度))= 0;
密实度(isinf(密实度))= 0;
凸性(2)= (2).ConvexArea结果;
凸性(isnan(凸性))= 0;
凸性(isinf(凸性))= 0;
区(ii) = (2) .Area结果;
区(isnan(区))= 0;
区(isinf(区))= 0;
偏心(ii) = (2) .Eccentricity结果;
偏心(isnan(偏心))= 0;
偏心(isinf(偏心))= 0;
程度(2)= (2).Extent结果;
程度(isnan(程度))= 0;
程度(isinf(程度))= 0;
可靠性(ii) = (2) .Solidity结果;
可靠性(isnan(可靠性))= 0;
可靠性(isinf(可靠性))= 0;
结束
科幻小说=[非常刻薄(地区)非常刻薄的(体积)非常刻薄(凸性)非常刻薄(循环)非常刻薄(偏心)非常刻薄(密实度)非常刻薄的(程度)];
:EF_Data (n) =科幻小说;
结束
EDF_feat =意味着(EF_Data);
disp (“边缘特性”)
Tfeat = [ST_feat EDF_feat];
负载Pdata.mat
负载Ndata.mat
xdata = [Train_dataP; Train_dataN];
组= [Train_LabP; Train_LabN];
fitcsvmTrain = fitcsvmTrain (xdata、组“kernel_function”,“rbf”);
Classify_Result = fitcsvmclassify (svmTrain Tfeat);
如果(Classify_Result = = 1)
图,imshow (DataArray地图);
标题(货币类型:真正的);
对话框(货币类型:真正的);
其他的
图,imshow (DataArray地图);
标题(货币类型:假的);
对话框(货币类型:假的);
结束
%(2)暂停
% perfdata
结束
接受的答案
图像分析
2022年11月8日
你想要指定一个ROI怎么样?你想硬编码在坐标吗?交互式地画一个矩形或形状不规则的区域吗?首先看一下演示我连接,看看是否有帮助。
4评论
答案(1)
Shreenand奈克
2022年11月23日
9日评论
沃尔特·罗伯森
2022年11月23日
使用fullfile构建文件名不是strcat ()。uigetfile并不始终把一个目录分隔符返回的目录名称。
你的图像阅读代码假定可能有彩色地图。但是如果有colormap然后只会有一个平面,不是独立的rgb的飞机。你需要ind2rgb rgb。
图像分析
2023年2月28日
@rohit
唯一我们可以假设是一个矩形的列表(x, y,宽度、高度),它从一个垫的文件检索当他这样做:
如果(Avg > 202 & & Avg < 207)
负载100.垫
elseif(Avg > 175 & & Avg < 180)
负载200.垫
elseif(Avg > 190 & & Avg < 195)
负载500.垫
elseif(Avg > 209 & & Avg < 214)
负载2000.垫
结束
你会联系他的.mat因为他没有附上他们的文件。否则只是弥补自己的喜欢
= (10、10、100、200;50岁,60岁,80);
或任何你想要的值。
图像分析
2023年2月28日
如果你有任何其他问题,然后把数据和代码阅读它的回形针图标后
读到这
:
所以,开始自己的新的问题和解释什么是行不通的。如果这是一个快速修复,我们可以重写代码的问题。如果这是一个重大的项目,比如写一个交钥匙系统从图像识别假币,那么我们不能捐出足够的时间来与你共同创造这样一个大型项目。Mathworks咨询团队将会很乐意跟你做,但是你必须支付他们的课程。
另请参阅
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。