精华内容
下载资源
问答
  • 图像的点运算、几何运算、数学形态学图像处理方法、频率变换、图像平滑与去噪、边缘检测、图像分割、图像压缩编码和彩色图像处理
  • 巴特沃斯带通滤波器的matlab代码图像处理器 空间领域 亮度 对比 3x3低通 5x5低通 7x7低通 9x9低通 边缘检测高通 高升 整体直方图均衡 自适应直方图均衡 频域 低通-理想 低通-高斯 低通-巴特沃思 高通-理想 高通-高斯...
  • 项目的目标是学习和实施完整的转化式生物医学图像处理流程,以提供临床决策支持。 具体而言,将图像处理和数据挖掘技术应用于癌症组织病理学图像,并为癌症的诊断和预后发展提供客观且可重复的决策支持。 作者 ...
  • 图像处理 关于 MIP 是一个 Matlab 类,用于基本图像处理和一些基于傅立叶光学的光学计算。 它主要用于处理黑白数据(非彩色)和复杂数据(电场)。 它不需要任何 Matlab 工具箱来运行(最重要的是,实现了一些与 中...
  • matlab图像分割肿瘤代码论文清单 CVPR2017〜2021: ICCV2019: 开放存取: MICCAI2019 开放存取: 每日简历 简历翻译 带代码的文件。 按星星排序。 每周更新 关于医学图像分析的深度学习论文 ML课程 很棒的深度学习...
  • 理解和使用图像处理工具的MATLAB项目 每个文件夹中的报告讨论输出,输出的图像保存在每个作业的“输出图像”文件夹中,因此无需下载/运行代​​码 作业的基本说明: 作业1:简介: 将图像读入MATLAB中,并读取图像的...
  • matlab灰色处理代码图像处理 用于图像处理Matlab代码 将彩色图像转换为灰度-将图像从彩色图像转换为灰度 离散余弦变换-在灰度图像上应用DCT并将其反转以重现图像 快速傅立叶变换-在灰度图像上应用FFT并将其求逆以...
  • 文章目录Matlab 常用的图像处理方法RGB转灰度噪声添加滤波中值滤波均值滤波sobel算子处理图像形态学运算Reference Matlab 常用的图像处理方法 RGB转灰度 RGB2YCbCr RGB2Gray,其中 ycbcr中的Y 和 gray 都是表示灰度...

    Matlab 常用的图像处理方法

    RGB转灰度

    RGB2YCbCr RGB2Gray,其中 ycbcr中的Ygray 都是表示灰度,这两种灰度有什么区别呢?
    RGB2YCbCr RGB2Gray灰度的区别

    简单来说,他们两RGB乘的数值不同,计算公式不同。FPGA上大部分转灰度都是使用Ycbcr中Y分量这个形式。

    • Y = 0.257R+0.564G+0.098*B+16

    • Gray = R0.299 + G0.587 + B*0.114

    Matlab代码:

    %RGB_YCbCr  
    %RGB_YCbCr  
    clc;  
    clear all;  
    close all;  
      
    RGB_data = imread('lena.jpg');  
    
    
    figure; 
    imshow(RGB_data); 
    subplot(1,3,1)
    imshow(RGB_data);
    title('原始图像');
    
    %--------------------------------------------------------
    R_data =    RGB_data(:,:,1);  
    G_data =    RGB_data(:,:,2); 
    B_data =    RGB_data(:,:,3); 
     
    [ROW,COL, DIM] = size(RGB_data); 
     
    Y_data = zeros(ROW,COL); 
    Cb_data = zeros(ROW,COL); 
    Cr_data = zeros(ROW,COL); 
    Gray_data = RGB_data; 
     
    for r = 1:ROW 
        for c = 1:COL 
            Y_data(r, c)  =   0.299*R_data(r, c) + 0.587*G_data(r, c) + 0.114*B_data(r, c); 
            Cb_data(r, c) =  -0.172*R_data(r, c) - 0.339*G_data(r, c) + 0.511*B_data(r, c) + 128; 
            Cr_data(r, c) =   0.511*R_data(r, c) - 0.428*G_data(r, c) - 0.083*B_data(r, c) + 128; 
        end 
    end 
     
    Gray_data(:,:,1)=Y_data; 
    Gray_data(:,:,2)=Y_data; 
    Gray_data(:,:,3)=Y_data; 
    
    %灰度
    subplot(1,3,2)
    imshow(Gray_data); 
    title('Ycbcr灰度图像');
    
    Gray_data2 = rgb2gray(RGB_data)
    subplot(1,3,3)
    imshow(Gray_data2); 
    title('gray灰度图像');
      
    

    原始图像和ycbcr,Gray灰度图像对比

    噪声添加

    所用函数为imnoise (img, type),该函数中的type可以为5种噪声参数,分别为:

    • ‘gaussian’(高斯白噪声),
    • ‘localvar’(与图象灰度值有关的零均值高斯白噪声),
    • ‘poisson’(泊松噪声),
    • ‘salt & pepper’(椒盐噪声)
    • ‘speckle’(斑点噪声)。
     imgn = imnoise(Gray_data,'salt & pepper',0.02); 
      %加入椒盐噪声后的图像
     figure; 
     imshow(imgn); %加入椒盐噪声的图像
    

    imgn2 = imnoise(Gray_data, 'gaussian'); 
    %加入高斯白噪声后的图像
    figure; 
    imshow(imgn2); 
    

    滤波

    中值滤波

    %这里处理的是椒盐噪声的图像
     Median_Img = Gray_data;%转存一次
     for r = 2:ROW-1 
         for c = 2:COL-1 
             median3x3 =[imgn(r-1,c-1)    imgn(r-1,c)   imgn(r-1,c+1) 
                         imgn(r,c-1)      imgn(r,c)     imgn(r,c+1) 
                         imgn(r+1,c-1)    imgn(r+1,c)   imgn(r+1,c+1)]; 
             sort1 = sort(median3x3, 2, 'descend');
             sort2 = sort([sort1(1), sort1(4), sort1(7)], 'descend'); 
             sort3 = sort([sort1(2), sort1(5), sort1(8)], 'descend'); 
             sort4 = sort([sort1(3), sort1(6), sort1(9)], 'descend'); 
             mid_num = sort([sort2(3), sort3(2), sort4(1)], 'descend'); 
             Median_Img(r,c) = mid_num(2); 
         end 
     end 
      %中值滤波
     figure; 
     imshow(Median_Img); 
    

    均值滤波

    %--------------------------------------------------------
    %均值滤波
    r=0, c = 0;
    for r = 2:1:ROW-1
        for c = 2:1:COL-1
    		  Mean_Img(r,c) = (imgn(r-1, c-1) + imgn(r-1, c) + imgn(r-1, c+1) + imgn(r, c-1) + imgn(r, c) + imgn(r, c+1) + imgn(r+1, c-1) + imgn(r+1, c) + imgn(r+1, c+1)) / 9;
    	end
    end
    
    figure;
    imshow(Mean_Img);
    title('均值滤波图像');
    
    

    很明显,均值滤波不适合用于处理椒盐噪声

    sobel算子处理

     Median_Img = double(Median_Img);  #对中值滤波的数值进行转double精度处理
     Sobel_Threshold = 150;  
     Sobel_Img = zeros(ROW,COL); 
      
     for r = 2:ROW-1 
         for c = 2:COL-1 
             Sobel_x = Median_Img(r-1,c+1)  + 2*Median_Img(r,c+1) + Median_Img(r+1,c+1) - Median_Img(r-1,c-1) - 2*Median_Img(r,c-1) - Median_Img(r+1,c-1); 
             Sobel_y = Median_Img(r-1,c-1)  + 2*Median_Img(r-1,c) + Median_Img(r-1,c+1) - Median_Img(r+1,c-1) - 2*Median_Img(r+1,c) - Median_Img(r+1,c+1); 
             Sobel_Num = abs(Sobel_x) + abs(Sobel_y); 
             %Sobel_Num = sqrt(Sobel_x^2 + Sobel_y^2); 
             if(Sobel_Num > Sobel_Threshold) 
                 Sobel_Img(r,c)=255; 
             else 
                 Sobel_Img(r,c)=0; 
             end 
         end 
     end 
     
     %sobel后的图像
     figure; 
     imshow(Sobel_Img); 
     title('中值滤波后进行sobel处理');
    

    图像形态学运算

    先腐蚀后膨胀叫开运算,开运算的作用是清除图像边缘周围非边缘的细小的点。先膨胀后腐蚀为闭运算,闭运算的作用是清除图像内部的空洞。
    介绍
    大磊FPGA腐蚀膨胀介绍

     Dilation_img = zeros(ROW,COL);
     for r = 2:ROW-1
         for c = 2:COL-1
             %每行先做或运算,最后三个或运算在相或,这是膨胀
             or1 = bitor(Sobel_Img(r-1, c-1), bitor(Sobel_Img(r-1, c), Sobel_Img(r-1, c+1)));
             or2 = bitor(Sobel_Img(r, c-1), bitor(Sobel_Img(r, c), Sobel_Img(r, c+1)));
             or3 = bitor(Sobel_Img(r+1, c-1), bitor(Sobel_Img(r+1, c), Sobel_Img(r+1, c+1)));
             Dilation_img(r, c) = bitor(or1, bitor(or2, or3));
         end
     end
     
     %显示膨胀的后图像
     figure;
     imshow(Dilation_img);
     
     %Erosion
     Erosion_img = zeros(ROW,COL);
     for r = 2:ROW-1
         for c = 2:COL-1
             and1 = bitand(Dilation_img(r-1, c-1), bitand(Dilation_img(r-1, c), Dilation_img(r-1, c+1)));
             and2 = bitand(Dilation_img(r, c-1), bitand(Dilation_img(r, c), Dilation_img(r, c+1)));
             and3 = bitand(Dilation_img(r+1, c-1), bitand(Dilation_img(r+1, c), Dilation_img(r+1, c+1)));
             Erosion_img(r, c) = bitand(and1, bitand(and2, and3));
         end
     end
     
     %腐蚀操作
     figure;
     imshow(Erosion_img);
    

    Reference

    Matlab 数字图像处理教程 BY NINGHECHUANG

    展开全文
  • matlab幂律变换代码数字图像处理 四年级第二学期实验室使用MATLAB完成数字图像处理代码 关于项目 该存储库包含使用WebGL和GLSL的6个项目。 这6个项目是: 切片图像并旋转90度 直方图均衡 强度转换 形态学 高斯3 * 3...
  • Matlab 图像处理与计算机视觉工具箱

    千次阅读 2018-02-09 21:45:49
    目录 1.常用工具箱 ...1.3Peter Kovesi的工具箱:轻量好用,侧重图像处理 1.4 Machine Vision Toolbox:侧重机器视觉、三维视觉 1.5​​Piotr's Image & Video Matlab Toolbox:侧重物体识别 1.6 DI...

    目录

    1.常用工具箱

    1.1 VLFeat:著名而常用

    1.2 MexOpenCV:让Matlab支持调用的OpenCV

    1.3 Peter Kovesi的工具箱:轻量好用,侧重图像处理

    1.4 Machine Vision Toolbox:侧重机器视觉、三维视觉

    1.5 ​​Piotr's Image & Video Matlab Toolbox:侧重物体识别

    1.6 DIPUM Toolbox:经典教材配套

    1.7 MATLAB Functions for Multiple View Geometry:又一个经典教材配套

    1.8 其他的工具箱

    2.参考


    1.常用工具箱

    计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机视觉工具箱,希望能对国内的研究者有所帮助。

    1.1 VLFeat:著名而常用

    项目网站:http://www.vlfeat.org

    许可证:BSD

    著名的计算机视觉/图像处理开源项目,知名度应该不必OpenCV低太多,曾获ACM Open Source Software Competition 2010一等奖。使用C语言编写,提供C语言和Matlab两种接口。实现了大量计算机视觉算法,包括:

    • 常用图像处理功能,包括颜色空间变换、几何变换(作为Matlab的补充),常用机器学习算法,包括GMM、SVM、KMeans等,常用的图像处理的plot工具。
    • 特征提取,包括 Covariant detectorsHOGSIFT,MSER等。VLFeat提供了一个vl_covdet() 函数作为框架,可以方便的统一所谓“co-variant feature detectors”,包括了DoG, Harris-Affine, Harris-Laplace并且可以提取SIFT或raw patches描述子。
    • 超像素(Superpixel)分割,包括常用的Quick shiftSLIC算法等
    • 高级聚类算法,比如整数KMeans:Integer k-means (IKM)、hierarchical version of integer k-means (HIKM),基于互信息自动判定聚类类数的算法Agglomerative Information Bottleneck (AIB) algorithm等
    • 高维特曾匹配算法,随机KD树Randomized kd-trees

    可以在这里查看VLFeat完整的功能列表。

    (欢迎访问计算机视觉研究笔记http://cvnote.info或者关注新浪@cvnote


    1.2 MexOpenCV:让Matlab支持调用的OpenCV

    项目网站:http://www.cs.sunysb.edu/~kyamagu/mexopencv/

    作者Kota Yamaguchi桑是石溪大学(Stony Brook University)的PhD,早些时候自己搞了一套东西把OpenCV的代码编译成Matlab可用的mex接口,然后这个东西迅速火了。今年夏天这个项目被OpenCV吸收为一个模块,貌似是搞了一个Google Summer of Code(GSoC)的项目,最近(大概是9、10月)已经merge到了OpenCV主包,有兴趣的可以到Github的OpenCV库下的module/matlab去玩一下,应该会在10月份的OpenCV 3 alpha里正式发布。现在OpenCV就同时有了Python和Maltab的binding(好强大)。具体的功能就不细说了,既然是OpenCV的binding,当然是可以使用OpenCV的绝大多数算法了。比如这样:

    %loadanimage(Matlab)
    
    I=imread('cameraman.tif');
    
    %computetheDFT(OpenCV)
    
    If=cv.dft(I,cv.DFT_COMPLEX_OUTPUT);

    1.3 Peter Kovesi的工具箱:轻量好用,侧重图像处理

    项目网站:http://www.csse.uwa.edu.au/~pk/research/matlabfns/

    这位Peter大哥目前在The University of Western Australia工作,他自己写了一套Matlab计算机视觉算法,所谓工具箱其实就是许多m文件的集合,全部Matlab实现,无需编译安装,支持Octave(如果没有Matlab的话,有了这个工具箱也可以在Octave下进行图像处理了)。别看这位大哥单枪匹马,人家的工具箱可是相当有名,研究时候需要哪个Matlab的计算机视觉小功能,直接到他家主页上下几个m文件放在自己文件夹就好了。这个工具箱主要以图像处理算法为主,附带一些三维视觉的基本算法,列一些包括的功能:

    可以在网站上看到全部功能的介绍和下载,非常推荐试一下,也可以学到不少算法。


    1.4 Machine Vision Toolbox:侧重机器视觉、三维视觉

    项目网站:http://www.petercorke.com/Machine_Vision_Toolbox.html

    许可证:LGPL

    以前没有用过这个工具箱,最近发现竟然非常强大,而且和我自己的工作还很相关。这个工具箱侧重机器视觉,作者是另一个Peter,Peter Corke在机器人界很有名,他在2011年写了一本书《Robotics, Vision & Control》介绍了机器视觉相关的颜色、相机模型、三维视觉、控制等研究,并配套这个工具箱。算法包括了大量常用的视觉和图像处理小函数,,这些就不提了,提几个别的工具箱一般没有的功能

    • Bag of words的Matlab实现
    • 各种相机模型的实现,包括普通相机、鱼眼相机、Catadioptric相机模型等等。如果你做机器人视觉、挂在各种广角相机的话,这些模型实现会很有用
    • 自带简单的相机标定功能
    • 对极几何(Epipolar Geomtry)的相关算法函数
    • Plucker坐标的实现,做广义相机模型(Generalized camera model)很有用

    1.5 Piotr's Image & Video Matlab Toolbox:侧重物体识别

    项目网站:http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html

    许可证:Simple BSD

    (补充一个工具箱)由UCSD的Piotr Dollar编写,侧重物体识别(Object Recognition)检测相关的特征提取和分类算法。这个工具箱属于专而精的类型,主要就是Dollar的几篇物体检测的论文的相关算法,如果做物体识别相关的研究,应该是很好用的。同时它的图像操作或矩阵操作函数也可以作为Matlab图像处理工具箱的补充,功能主要包括几个模块:

    • channels模块,图像特征提取,包括HOG等,Dollar的研究工作提出了一种Channel Feature的特征1,因此这个channels主要包括了提取这一特征需要的一些基本算法梯度、卷及等基本算法
    • classify模块,一些快速的分类相关算法,包括random ferns, RBF functions, PCA等
    • detector模块,与Channel Feature特征对应的检测算法1
    • filters模块,一些常规的图像滤波器
    • images模块,一些常规的图像、视频操作,有一些很实用的函数
    • matlab模块,一些常规的Matlab函数,包括矩阵计算、显示、变量操作等,很实用
    • videos模块,一些常规的视频操作函数等

    1. P. Dollár, Z. Tu, P. Perona and S. Belongie, "Integral Channel Features", BMVC 2009.


    1.6 DIPUM Toolbox:经典教材配套

    项目地址:http://www.imageprocessingplace.com/DIPUM_Toolbox_2/DIPUM_Toolbox_2.htm

    冈萨雷斯著名的图像处理教材《数字图像处理》的配套工具包,主要是书中图像处理算法的实现,名气自然是不必说了,网上可以免费下到加密后的p文件放在Matlab下面用,作为图像处理入门的上手玩具。


    1.7 MATLAB Functions for Multiple View Geometry:又一个经典教材配套

    项目网站:http://www.robots.ox.ac.uk/~vgg/hzbook/code/

    许可证:MIT

    又是一本大名鼎鼎的教材《计算机视觉中的多图几何》(Multiple View Geometry in Computer Vision),值得所有做三维视觉的研究者好好研究的书,国内很早就翻译了中文版。作者Zisserman提供了部分书中算法的Matlab实现,是深入理解书中理论的非常好的辅助材料。

     


    1.8 其他的工具箱

    • DIPImage & DIPLib,提供Matlab和C接口的图像处理功能,比较早,现在估计很少有人用或者知道了吧?
    • Matlab CVPR toolbox,计算机视觉和模式识别相关的Matlab功能,好像没什么人用。
    • 相关领域的工具箱,比如做机器学习的、做Markov随机场的等等,以后有机会写一下。
    • 特定功能的工具箱,比如相机标定工具箱,这个可推荐的还阵挺多,以后有机会写一下。
    • 这个链接里可以找到一些Matlab的开源工具箱。

    2.参考

    http://cvnote.info/matlab-cv-ip-toolbox/

    展开全文
  • matlab图像分割肿瘤代码脑肿瘤检测使用图像处理 使用MATLAB从MRI图像中提取脑肿瘤 介绍 医学领域一直是必不可少的,在医学领域中的发展是改善人类的基本必要。医学图像处理是当今最具挑战性和新兴的领域。 MRI图像的...
  • matlab灰色处理代码数字图像处理课程项目Matlab和C ++) 这些项目包括: 图像灰度和直方图显示。 (项目1第2部分) 带有饱和度截止的对比度拉伸的自定义代码。 (项目1第2部分) 直方图均衡化的自定义代码。 ...
  • 小波图像分割matlab代码数字图像处理项目 2017年秋季课程-数字图像处理 一些数字图像主题的简单matlab实现 话题 直方图均衡 空间增强方法复制填充,比例尺,均值,拉普拉斯算子,Sobel 频域滤波理想,巴特沃思,高斯...
  • matlab图像清晰处理代码移植 移植是从Python调用Matlab的简便方法。 import transplant matlab = transplant . Matlab () # call Matlab functions: length = matlab . numel ([ 1 , 2 , 3 ]) magic = matlab . ...
  • 几种常用图像处理开源库简介及使用总结

    万次阅读 多人点赞 2018-05-02 22:31:27
    也就是说,它实际提供的是各种图像处理算法。若需具体应用,需要组合其算法以实现某个功能。 OpenCV 的全称 Open Source Computer Vision Library,是一个基于BSD许可(开源)发行的跨平台计算机视觉库,又名 “开源...

          1.OpenCV,主要以算法形式,展示其实现;也就是说,它实际提供的是各种图像处理算法。若需具体应用,需要组合其算法以实现某个功能。

                                              

    OpenCV 的全称 Open Source Computer Vision Library,是一个基于BSD许可(开源)发行的跨平台计算机视觉库,又名 “开源计算机视觉库”。OpenCV 是一个开源发行的跨平台计算机视觉库,可运行在 Windows、Android、Maemo、FreeBSD、OpenBSD、iOS、Linux 和 Mac OS 等平台。使用者可在 SourceForge 获得官方版本, 或从 SVN 获得开发版本。OpenCV 也用 CMake。

    在 Windows 上编译 OpenCV 中与摄像输入有关部分时,需要 DirectShow SDK 中的一些基类。该 SDK 可从预先编译的 Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0) 的子目录 Samples\Multimedia\DirectShow\BaseClasses 获得。

    OpenCV 轻量且高效 —— 由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、Ruby、MATLAB 等语言接口,实现了图像处理和计算机视觉方面的很多通用算法。

    OpenCV 用 C++ 语言编写,它的主要接口也是 C++ 语言,但依然保留了大量的 C 语言接口。OpenCV 库也有 Python、Java、MATLAB/OCTAVE (版本 2.5) 接口。这些语言的 API 接口函数,可通过在线文档获得。如今,OpenCV 也提供对于 C#、Ch、Ruby 的支持。

    OpenCV 所有新开发和算法都采用 C++ 接口。

    OpenCV 拥有包括 500 多个 C 函数的跨平台中、高层 API。OpenCV 不依赖于其它的外部库 —— 尽管也可使用某些外部库。

    1999 年 Intel 开始建立 OpenCV,如今由 Willow Garage 提供支持。

    OpenCV 为 Intel ® Integrated Performance Primitives (IPP) 提供了透明接口。这意味着,如果有为特定处理器优化的 IPP 库, OpenCV 将在运行时自动加载这些库。OpenCV 2.0 版代码已显著优化,无需 IPP 来提升性能,故 2.0 版不再提供 IPP 接口。

    2010 年 9 月实现 CUDA 的 GPU 接口。

    2015 年 6 月 4 日发布 OpenCV 3.0。

    2016年12月,发布OpenCV 3.2版(合并969个修补程序,关闭478个问题)。

    2017年8月3日,发布OpenCV 3.3版(最重要的更新是把DNN模块从contrib里面提到主仓库)。

    2017年12月23日发布,最新版本是3.4 。

           2.imageMagic主要以应用形式,展示其实现,;譬如:图像切割、图像融合、图像模糊、图像锐化等。

                                               

    ImageMagick 是一个免费开源、用于编辑、创建、合成图像的工具。ImageMagick 可读取、转换、写入多种格式图像。包括:图像切割、颜色替换、各种效果的应用,图像旋转、组合、文本、直线、多边形、椭圆、曲线、附加到图像伸展旋转、等等。

    ImageMagick 遵守 GPL 许可协议,是一个免费工具:完全开放源码,可自由使用、复制、修改、发布;它可运行于大多数操作系统。ImageMagick 几乎可在任何非专有操作系统上编译,无论是 32 位还是 64 位 CPU,包括:Linux、Windows 95/98/ME/NT 4.0/2000/XP、Windows 2003、Windows 7、Windows 8、Macintosh (MacOS 9 /10)、VMS 和 OS/2。ImageMagick 的大多数功能的用法都是使用命令行。

    ImageMagick 是一套功能强大、稳定且开源的工具集、开发包。可用来读、写和处理超过 200 多种格式的图片文件,包括流行的 TIF、JPG、JPEG、GIF、 PNG、PDF 以及 PhotoCD 等格式。

    ImageMagick 可根据 Web 应用程序的需要动态生成图片, 可对一个(或一组)图片进行缩放、旋转、锐化、减色或增加特效等操作,并将操作结果以相同格式或其它格式保存;对图片的操作,即可通过命令行进行,也可通过 C/C++、Perl、Java、PHP、Python 或 Ruby 编程完成。同时 ImageMagick 还提供了一个高质量的 2D 工具包,部分支持 SVG。ImageMagick 的主要精力集中在性能,减少 Bug 以及提供稳定的 API 和 ABI 上。

                                     

           3.GraphicsMagick号称图像处理领域的瑞士军刀。其短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作。

                                                

    GraphicsMagick 号称图像处理领域的瑞士军刀。GraphicsMagick 短小精悍的代码,却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作。

    GraphicsMagick 支持大图片的处理,且做过 GB 级的图像处理实验。GraphicsMagick 能动态生成图片,特别适于互联网应用。

    GaphicsMagick 不仅支持命令行模式,同时也支持 C、C++、Perl、PHP、Tcl、 Ruby、Lua、Python、Windows .NET、Windows COM 编程接口等的调用。事实上,GraphicsMagick 是从 ImageMagick 5.5.2 分支出来的,现在它已变得更稳定和更优秀,相比之下。

    GraphicsMagick 可用来处理调整图片尺寸、旋转、加亮、颜色调整、增加特效等。GraphicsMagick 支持超过 88 种图像格式,包括重要的 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM 和 TIFF。通过使用 OpenMP 可利用多线程进行图片处理,增强了通过扩展 CPU 提高处理能力。

    GraphicsMagick 可在绝大多数平台上使用,包括 Linux、Mac OS、Windows (2000、XP、Vista、7、8.X、10) 操作系统。

    三种库的优势对比:

    OpenCV 比较 ImageMagick:

    (1).OpenCV 和 ImageMagick 代码都开源,方便开发;

    (2).ImageMagick 最近更新不多,OpenCV 近几年有 Intel 的支持更新比较及时,功能越来越强大,bug 修复也比较及时;

    (3).ImageMagick 使用简便;OpenCV 的使用稍微复杂,对使用者有一定的图像技术要求;

    (4).ImageMagick 封装较好,使用灵活度稍低;OpenCV 使用比较灵活;

    (5).ImageMagick 功能实现较少,主要是一些常用的图像处理,很多比较复杂的图像处理并没有实现。OpenCV 的算法实现非常强大,且从其最近版本更新的速度来看,它更加强大,很多经典的图像处理算法都有实现。作为一个图像开发者,这是一个很大的诱惑。

    (6).ImageMagick 函数运行较慢, OpenCV 运行速度较快。常见函数 ,包括:图像读、图像压缩、图像写等 ,OpenCV 都要比 ImageMagick 快很多。

    (7).OpenCV 不能解析 gif 文件格式,版权原因,试图载入 gif 文件会出错。若要用 OpenCV 功能,又需解析 gif 文件格式,可先用其他函数库将其读入再转化为 IplImage。ImageMagick 支持处理 gif 文件格式。

    (8).ImageMagick 有一个不错的 sharpen 函数,用于锐化图像,效果挺不错。OpenCV 中没有锐化函数,没有相应的锐化算法实现。若确想使用这个函数,可在 OpenCV 下实现 ImageMagick 相应源代码。

    OpenCV 功能强大,代码运行速度快,更新速度也快,但对开发者有一定的要求。ImageMagick 使用比较简单,对图像处理不太熟悉,又只想实现简单图像处理时,可选择。

    若选择使用 ImageMagick,建议使用 GraphicsMagick。GraphicsMagick 和 ImageMagick 的函数调用方法相同,但 GraphicsMagick 在效率上优于 ImageMagick,特别是在 windows 下运行。

    GraphicsMagick 比较 ImageMagick:

    (1).GraphicsMagick 更有效率,能更快的完成处理工作;

    (2).GraphicsMagick 更小更容易安装;

    (3).GraphicsMagick 已被 Flickr (雅虎旗下图片分享网站) 和 Etsy (网络商店平台) 使用,每天处理百万计的图片;

    (4).GraphicsMagick 和已安装软件不会发生冲突;

    (5).GraphicsMagick 几乎没有安全问题;

    (6).GraphicsMagick 的手册非常丰富;





    展开全文
  • matlab 图像锐化,增强,直方图,分析,复原技术等共20多篇, PDF转化清晰版(非扫描)。
  • MatImage是一个Matlab库,用于2D和3D中的图像处理和分析。 它包含250多个用于图像增强,过滤,分析或可视化以及创建基本测试形状的功能。 它是作为Mathworks图像处理工具箱(IPT)的补充而构建的。
  • matlab图像处理掩膜代码 cmake qt capture images 进度 目前正在做融合,处理高动态 框架 dependence cmake qt5 vimba(in dir) yaml-cpp opencv 步骤 拍摄图片(横竖条纹) 标定位置求解投影仪相机位置关系(matlab) ...
  • Matlab 图像处理工具箱

    万次阅读 2015-04-08 21:49:29
    计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机...

    转自:http://cvnote.info/matlab-cv-ip-toolbox/


    计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机视觉工具箱,希望能对国内的研究者有所帮助。

    VLFeat:著名而常用

    项目网站:http://www.vlfeat.org

    许可证:BSD

    著名的计算机视觉/图像处理开源项目,知名度应该不必OpenCV低太多,曾获ACM Open Source Software Competition 2010一等奖。使用C语言编写,提供C语言和Matlab两种接口。实现了大量计算机视觉算法,包括:

    • 常用图像处理功能,包括颜色空间变换、几何变换(作为Matlab的补充),常用机器学习算法,包括GMM、SVM、KMeans等,常用的图像处理的plot工具。
    • 特征提取,包括 Covariant detectorsHOGSIFT,MSER等。VLFeat提供了一个vl_covdet() 函数作为框架,可以方便的统一所谓“co-variant feature detectors”,包括了DoG, Harris-Affine, Harris-Laplace并且可以提取SIFT或raw patches描述子。
    • 超像素(Superpixel)分割,包括常用的Quick shiftSLIC算法等
    • 高级聚类算法,比如整数KMeans:Integer k-means (IKM)、hierarchical version of integer k-means (HIKM),基于互信息自动判定聚类类数的算法Agglomerative Information Bottleneck (AIB) algorithm等
    • 高维特曾匹配算法,随机KD树Randomized kd-trees

    可以在这里查看VLFeat完整的功能列表。

    (欢迎访问计算机视觉研究笔记http://cvnote.info或者关注新浪@cvnote

    MexOpenCV:让Matlab支持调用的OpenCV

    项目网站:http://www.cs.sunysb.edu/~kyamagu/mexopencv/

    作者Kota Yamaguchi桑是石溪大学(Stony Brook University)的PhD,早些时候自己搞了一套东西把OpenCV的代码编译成Matlab可用的mex接口,然后这个东西迅速火了。今年夏天这个项目被OpenCV吸收为一个模块,貌似是搞了一个Google Summer of Code(GSoC)的项目,最近(大概是9、10月)已经merge到了OpenCV主包,有兴趣的可以到Github的OpenCV库下的module/matlab去玩一下,应该会在10月份的OpenCV 3 alpha里正式发布。现在OpenCV就同时有了Python和Maltab的binding(好强大)。具体的功能就不细说了,既然是OpenCV的binding,当然是可以使用OpenCV的绝大多数算法了。比如这样:

    facedetect

    Peter Kovesi的工具箱:轻量好用,侧重图像处理

    项目网站:http://www.csse.uwa.edu.au/~pk/research/matlabfns/

    这位Peter大哥目前在The University of Western Australia工作,他自己写了一套Matlab计算机视觉算法,所谓工具箱其实就是许多m文件的集合,全部Matlab实现,无需编译安装,支持Octave(如果没有Matlab的话,有了这个工具箱也可以在Octave下进行图像处理了)。别看这位大哥单枪匹马,人家的工具箱可是相当有名,研究时候需要哪个Matlab的计算机视觉小功能,直接到他家主页上下几个m文件放在自己文件夹就好了。这个工具箱主要以图像处理算法为主,附带一些三维视觉的基本算法,列一些包括的功能:

    可以在网站上看到全部功能的介绍和下载,非常推荐试一下,也可以学到不少算法。

    Machine Vision Toolbox:侧重机器视觉、三维视觉

    项目网站:http://www.petercorke.com/Machine_Vision_Toolbox.html

    许可证:LGPL

    以前没有用过这个工具箱,最近发现竟然非常强大,而且和我自己的工作还很相关。这个工具箱侧重机器视觉,作者是另一个Peter,Peter Corke在机器人界很有名,他在2011年写了一本书《Robotics, Vision & Control》介绍了机器视觉相关的颜色、相机模型、三维视觉、控制等研究,并配套这个工具箱。算法包括了大量常用的视觉和图像处理小函数,,这些就不提了,提几个别的工具箱一般没有的功能

    • Bag of words的Matlab实现
    • 各种相机模型的实现,包括普通相机、鱼眼相机、Catadioptric相机模型等等。如果你做机器人视觉、挂在各种广角相机的话,这些模型实现会很有用
    • 自带简单的相机标定功能
    • 对极几何(Epipolar Geomtry)的相关算法函数
    • Plucker坐标的实现,做广义相机模型(Generalized camera model)很有用

    Piotr's Image & Video Matlab Toolbox:侧重物体识别

    项目网站:http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html

    许可证:Simple BSD

    (补充一个工具箱)由UCSD的Piotr Dollar编写,侧重物体识别(Object Recognition)检测相关的特征提取和分类算法。这个工具箱属于专而精的类型,主要就是Dollar的几篇物体检测的论文的相关算法,如果做物体识别相关的研究,应该是很好用的。同时它的图像操作或矩阵操作函数也可以作为Matlab图像处理工具箱的补充,功能主要包括几个模块:

    • channels模块,图像特征提取,包括HOG等,Dollar的研究工作提出了一种Channel Feature的特征1,因此这个channels主要包括了提取这一特征需要的一些基本算法梯度、卷及等基本算法
    • classify模块,一些快速的分类相关算法,包括random ferns, RBF functions, PCA等
    • detector模块,与Channel Feature特征对应的检测算法1
    • filters模块,一些常规的图像滤波器
    • images模块,一些常规的图像、视频操作,有一些很实用的函数
    • matlab模块,一些常规的Matlab函数,包括矩阵计算、显示、变量操作等,很实用
    • videos模块,一些常规的视频操作函数等

    1. P. Dollár, Z. Tu, P. Perona and S. Belongie, "Integral Channel Features", BMVC 2009.

    DIPUM Toolbox:经典教材配套

    项目地址:http://www.imageprocessingplace.com/DIPUM_Toolbox_2/DIPUM_Toolbox_2.htm

    冈萨雷斯著名的图像处理教材《数字图像处理》的配套工具包,主要是书中图像处理算法的实现,名气自然是不必说了,网上可以免费下到加密后的p文件放在Matlab下面用,作为图像处理入门的上手玩具。

    MATLAB Functions for Multiple View Geometry:又一个经典教材配套

    项目网站:http://www.robots.ox.ac.uk/~vgg/hzbook/code/

    许可证:MIT

    又是一本大名鼎鼎的教材《计算机视觉中的多图几何》(Multiple View Geometry in Computer Vision),值得所有做三维视觉的研究者好好研究的书,国内很早就翻译了中文版。作者Zisserman提供了部分书中算法的Matlab实现,是深入理解书中理论的非常好的辅助材料。

    其他的工具箱

    • DIPImage & DIPLib,提供Matlab和C接口的图像处理功能,比较早,现在估计很少有人用或者知道了吧?
    • Matlab CVPR toolbox,计算机视觉和模式识别相关的Matlab功能,好像没什么人用。
    • 相关领域的工具箱,比如做机器学习的、做Markov随机场的等等,以后有机会写一下。
    • 特定功能的工具箱,比如相机标定工具箱,这个可推荐的还阵挺多,以后有机会写一下。
    • 这个链接里可以找到一些Matlab的开源工具箱。
    展开全文
  • 使用MATLAB进行背景减法的图像处理项目。 使用的方法:我们项目的目标是从图像中检测出不同的对象。 我们的代码应该能够区分各种对象和放置所有对象的背景。 为此,我们将需要两张图像-一个是实际的背景图像,另一个...
  • 数字图像处理实验要执行实验,请下载MatLab或使用在线MatLab()实验列表: 学习图像处理的基础知识并编写程序以读取和显示不同类型的数字图像。 对数字图像进行空间域增强,并编写用于灰度转换的程序。 执行直方图...
  • 有自己设计的GUI、移植于MATLAB官网的标签页设计方法,实现基础的数字图像处理任务,包含各种图像加噪、去噪、空间变换、边缘检测、尺度变换、图像增强、图像分析的功能,可以用来作为数字图像处理入门学习的例子,...
  • matlab简单图像处理代码这是为我的视频指定的代码,标题为“如何在Matlab中使用GUIDE制作GUI进行简单图像处理任务” 。 请检查我的其他回购以获取具有高级功能@的matlab图像处理程序@
  • MATLAB中的一组图像处理项目。 拜耳 一组功能,能够将拜耳图像转换为RGB图像。 该项目支持将图像缩放到新的分辨率。 有2种可用的颜色选择算法,最近的邻居和邻域的加权平均值。 该项目还支持图像的量化和反量化。 在...
  • 数字图像处理最终项目:尚待开发 该项目将UNIQUE算法应用于图像压缩。 UNIQUE代表无监督的图像质量估计。 有3个文件夹: 过滤器:此文件夹包含filter.mat文件。 该文件包含三个变量:W =滤波器权重(400 x 192矩阵)...
  • Gonzales和Wood的数字图像处理:第三版和第四版》中的问题,并且所有解决方案均已在MATLAB中实现。 1.作业1 Chapter 2: Digital Image Fundamentals 2.作业2 Chapter 2: Digital Image Fundamentals (Continued) ...
  • 采用图像处理技术作为一种优化方法来有效地处理任务。 傅里叶变换就是这样一种重要的图像处理方法,它可以将图像从空间域转换到频域。 在本文中,我们应用了许多频域滤波器来减少噪声并检测边缘。 通过计算不同的...
  • MATLAB图像处理作业 内容 1.使用浏览器下载一张彩色图片(png格式) 2.使用MATLAB读取这张彩色图片,并显示在figure1 3.将此图片转为黑白图,并显示在figure2 4.将此图片缩小1倍,如500500缩小为250250,并显示在...
  • matlab灰度处理代码
  • 图像处理从内核恢复模糊图像。 “ImageRestoration.m”——在 Matlab 中实现一个 GUI,用于应用逆滤波、截断逆滤波、维纳滤波和约束最小二乘滤波“metrics.m”——一个用户定义的函数来计算 PSNR 和 SSIM。 在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,734
精华内容 5,093
关键字:

matlab图像处理开源项目

matlab 订阅