关闭

matlab图像提取

450人阅读 评论(0) 收藏 举报
分类:

 


  1. close all;
  2. clear all;
  3. clc;
  4. I_rgb=imread ('D:\科研室资料\图片1\图片\clothes_100065.jpg')
  5. figure(1);imshow(I_rgb);title('原始图像');
  6. %去噪
  7. filter=ones(5,5);
  8. filter=filter/sum(filter(:));
  9. denoised_r=conv2(I_rgb(:,:,1),filter,'same');
  10. denoised_g=conv2(I_rgb(:,:,2),filter,'same');
  11. denoised_b=conv2(I_rgb(:,:,3),filter,'same');
  12. denoised_rgb=cat(3, denoised_r, denoised_g, denoised_b);
  13. D_rgb=uint8(denoised_rgb);
  14. figure();imshow(D_rgb);title('去噪后图像');%去噪后的结果
  15. %将彩色图像从RGB转化到lab彩色空间
  16. C =makecform('srgb2lab'); %设置转换格式
  17. I_lab= applycform(D_rgb, C);
  18. %进行K-mean聚类将图像分割成2个区域
  19. ab =double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量
  20. nrows= size(ab,1);
  21. ncols= size(ab,2);
  22. ab =reshape(ab,nrows*ncols,2);
  23. nColors= 2; %分割的区域个数为2
  24. [cluster_idx,cluster_center] =kmeans(ab,nColors,'distance','sqEuclidean','Replicates',2); %重复聚类2次
  25. pixel_labels= reshape(cluster_idx,nrows,ncols);
  26. %显示分割后的各个区域
  27. segmented_images= cell(1,3);
  28. rgb_label= repmat(pixel_labels,[1 1 3]);
  29. for k= 1:nColors
  30. color = I_rgb;
  31. color(rgb_label ~= k) = 0;
  32. segmented_images{k} = color;
  33. end
  34. figure(),imshow(segmented_images{1}),title('分割结果——区域1');
  35. figure(),imshow(segmented_images{2}),title('分割结果——区域2');
  36. %计算分割后图像的rgb特征值
  37. val_d_red=mean2(segmented_images{1}(:,:,1));
  38. val_d_green=mean2(segmented_images{1}(:,:,2));
  39. val_d_blue=mean2(segmented_images{1}(:,:,3));
  40. disp(sprintf('[%0.3f,%0.3f,%0.3f]',val_d_red,val_d_green,val_d_blue));

0
0
查看评论

MATLAB中关于图像特征提取相关内容

一、图像的边缘检测及edge函数的Prewitt和Ganny算子 ①图像的边缘:指其周围像素灰度急剧变化的那些像素的集合,他是图像最基本的特征。边缘存在于目标,背景和区域之间,所以,它是图像分割所依赖的最重要的依据。由于边缘是位置的标志,对灰度的变化不敏感,因此边缘也是图像匹配的重要特征。 &#...
  • chengjunda22
  • chengjunda22
  • 2017-04-01 13:45
  • 2963

图像处理之Matlab特征提取和表达

介绍图像处理之特征提取和表达,使用bwboundaries函数获取边界,使用regionprops函数统计特征
  • ling_xiobai
  • ling_xiobai
  • 2017-08-07 17:36
  • 3050

MATLAB中对视频进行提取图像

% Demo to extract frames and get frame means from a movie % and save individual frames to separate image files. % Then rebuilds a new movie by recalli...
  • qq_18343569
  • qq_18343569
  • 2015-09-08 19:17
  • 1644

MATLAB图像处理——特征提取

1、图像的边缘检测的原理及基于Canny算子检测图像 答:边缘检测基本思想实现检测图像中的边缘点,再按照某种策略将边缘点连接成轮廓,从而构成分割区域。
  • Cherish241006
  • Cherish241006
  • 2017-04-01 13:41
  • 816

MATLAB图像处理-特征提取-形状特征 方法小结

(一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型;②如果目标有变形时检索结果往往不太可靠;③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;④许...
  • wenyusuran
  • wenyusuran
  • 2014-12-04 15:11
  • 3940

数字图像处理-提取A4纸中线条-matlab的轮廓提取方法

这篇文章主要讲述的是使用一种十分naive的方法通过matlab实现以下轮廓提取的任务: 输入是一张A4纸: 需要分别输出纸上7个线条所在的区域: 思路首先将线条提取出来,然后找出暗处连通的区域,在一个连通的区域中找出最小和最大的横纵坐标,根据横纵坐标圈出一块矩形区域即可。实现1 将彩色图...
  • bowen_wu_sysu
  • bowen_wu_sysu
  • 2017-12-07 23:17
  • 219

harris角点提取—matlab

close all; clear all; clc;img=imread(‘rice.png’); imshow(img); [m n]=size(img);tmp=zeros(m+2,n+2); tmp(2:m+1,2:n+1)=img; Ix=zeros(m+2,n+2); Iy=...
  • yanxiaopan
  • yanxiaopan
  • 2015-12-30 11:09
  • 1261

【matlab】:matlab求图像质心算法

这篇文章的起因是因为我在做一个项目,其中的要求就是求图像的质心,这个算法初步实现了一个功能: 给出一张图片如下: 然后把这个图片保存到d:\测试.jpg目录,最后运行我的函数即可写的思路: 对于图片,质心肯定会数值不一样,这时候可以通过这种想法,然后设定阈值,对于图片数据进行二重循环,最终找到...
  • qq_23100787
  • qq_23100787
  • 2016-03-22 16:26
  • 3316

[图像]获取图片中感兴趣区域的信息(Matlab实现)

如果一幅图中只有一小部分图像你感兴趣(你想研究的部分),那么截图工具就可以了,但是如果你想知道这个区域在原图像中的坐标位置呢? 这可是截图工具所办不到的,前段时间我就需要这个功能,于是将其用Matlab实现。其实只要用到Matlab中的两个函数: 函数: imrect 函数: getPositio...
  • humanking7
  • humanking7
  • 2015-07-09 22:04
  • 7403

Matlab 提取二值图像中心线 (Matlab extract centreline of binary image)

Matlab 提取二值图像中心线 (Matlab extract centreline of binary image) close all; clear all; clc; binaryImage = imread('0.png'); % Skeletonize skeleto...
  • yangyangyang20092010
  • yangyangyang20092010
  • 2016-05-30 23:01
  • 2520
    个人资料
    • 访问:63096次
    • 积分:1297
    • 等级:
    • 排名:千里之外
    • 原创:97篇
    • 转载:10篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论