
图像处理
lengo
这个作者很懒,什么都没留下…
展开
-
图像分割——超像素(Superpixels)分割(Matlab)
原图与分割结果 主程序:clc;clear all;close all;%用Superpixels算法对图像进行分割I=imread('D:\Gray Files\lena.jpg');%提取各颜色分量B = double(I(:,:,3));G = double(I(:,:,2));R = double(I(:,:,1));%种子点数量nu...原创 2019-10-23 16:01:40 · 13129 阅读 · 6 评论 -
灰度图像处理——纹理分割(Matlab)
主函数:clc;clear all;close all;%纹理分割测试图像I=im2double(imread('D:\Gray Files\9-43.tif'));%获得图像大小[M,N]=size(I);%灰度闭操作r=31;J_Closing=GrayscaleClosing(I,r);%灰度开操作r=60;J_Opening=GrayscaleOpening(...原创 2019-09-05 19:41:26 · 7093 阅读 · 2 评论 -
图像形态学处理——灰度Top-Hat操作(Matlab)
clc;clear all;close all;%Top-Hat测试图像I=im2double(imread('D:\Gray Files\9-40.tif')); %=========================灰度Top-Hat操作================================== %半径为40的磁盘(disk)结构元素 r=40;...原创 2019-09-05 19:30:48 · 6880 阅读 · 11 评论 -
图像形态学处理——灰度梯度(Matlab)
clc;clear all;close all;%灰度梯度测试图像I=im2double(imread('D:\Gray Files\9-39.tif')); %===============================灰度梯度===================================%3*3结构元素n=3;B=ones(3,3);n_l=floor(n...原创 2019-09-05 19:26:12 · 6825 阅读 · 1 评论 -
图像形态学处理——灰度平滑(Matlab)
clc;clear all;close all;%灰度平滑测试图像I=im2double(imread('D:\Gray Files\9-38.tif')); %==============================灰度平滑==================================== %半径为3的磁盘(disk)结构元素 % r=3;% 半...原创 2019-09-05 19:23:07 · 3551 阅读 · 1 评论 -
图像形态学处理——灰度开操作和闭操作(Matlab)
clc;clear all;close all;%灰度膨胀、腐蚀、开操作、闭操作测试图像I=im2double(imread('D:\Gray Files\9-37.tif')); %========================灰度开操作和闭操作================================ %半径为3的磁盘(disk)结构元素 r=3;...原创 2019-09-05 19:11:06 · 4431 阅读 · 0 评论 -
图像形态学处理——灰度腐蚀+膨胀(Matlab)
clc;clear all;close all;%灰度膨胀、腐蚀、开操作、闭操作测试图像I=im2double(imread('D:\Gray Files\9-37.tif'));%============================灰度腐蚀+膨胀图像=============================%半径为2的平顶结构元素,实际上只取4连通的数值B=[0 1 0;1...原创 2019-09-05 19:08:15 · 9007 阅读 · 0 评论 -
灰度图像处理——连通分量提取(Matlab)
clc;clear all;close all;%提取连通分量测试图像,用来检测食物中的外来物I=im2double(imread('D:\Gray Files\9-18a.tif'));%获得图像大小[M,N]=size(I);%存放腐蚀后的图像%设定提取门限,根据经验设定th=0.808;%将原图像根据上述门限进行二值处理,大于等于门限为1,小于为0ind=find(I...原创 2019-09-04 21:38:30 · 6597 阅读 · 0 评论 -
图像形态学处理——形态学区域填充(Matlab)
clc;clear all;close all;%区域填充测试图像I=im2double(imread('D:\Gray Files\9-16.tif'));%获得图像大小[M,N]=size(I);%----------------------------形态学区域填充--------------------------------%=====================...原创 2019-09-04 21:35:42 · 10920 阅读 · 3 评论 -
图像形态学处理——二值图像边界提取(Matlab)
clc;clear all;close all;%读入图像,并转换为double型,该计算针对的是二值图像,所以加入图像时需注意%膨胀测试图像I=im2double(imread('D:\Gray Files\9-14.tif'));%获得图像大小[M,N]=size(I);%存放膨胀后的图像J=zeros(M,N);%===========================...原创 2019-09-04 21:30:24 · 12062 阅读 · 1 评论 -
图像形态学处理——开操作和闭操作(Matlab)
clc;clear all;close all;%读入图像,并转换为double型,该计算针对的是二值图像,所以加入图像时需注意%膨胀测试图像I=im2double(imread('D:\Gray Files\9-11.tif'));%获得图像大小[M,N]=size(I);%存放膨胀后的图像J=zeros(M,N);%===========================...原创 2019-09-04 21:22:38 · 8183 阅读 · 5 评论 -
图像分割——孤立点检测(Matlab)
clc;clear all;close all;%点检测测试图像(Detection of Isolated Points)I=im2double(imread('D:\Gray Files\10-4.tif'));[M,N]=size(I);%%%===========================孤立点检测==================================...原创 2019-09-05 19:46:02 · 4539 阅读 · 0 评论 -
图像分割——线检测——拉普拉斯标定(Matlab)
clc;clear all;close all;%线检测测试图像(Detection of Line)I=im2double(imread('D:\Gray Files\10-5.tif'));[M,N]=size(I);%%%===============================线检测(一)===============================KernelTy...原创 2019-09-05 19:55:39 · 3061 阅读 · 0 评论 -
图像分割——k-means算法
clc;clear all;close all;%用k-means算法对图像进行分割I=imread('D:\Gray Files\5-26.tif');%获得图像大小[M,N]=size(I);%获得图像的直方图统计hist_I=Histeq_Num(I,M,N);%-------------------k-means算法分割-------------------------...原创 2019-09-06 20:58:17 · 1252 阅读 · 1 评论 -
图像分割——基于局部图像属性的变门限
clc;clear all;close all;%%%============Variable Thresholding Based on Local Image Properties=========%基于局部图像属性的变门限I=im2double(imread('D:\Gray Files\10-43.tif'));[M,N]=size(I);%求取局部标准差n*nn=3;...原创 2019-09-06 20:54:57 · 659 阅读 · 0 评论 -
图像分割——采用梯度算法改善全局阈值设定
clc;clear all;close all;%用边缘信息改善全局阈值设定%Using Edges to Improve Global Thresholding%%%====================采用梯度算法改善全局阈值设定==========================I=imread('D:\Gray Files\10-41.tif');[M,N]=size...原创 2019-09-06 20:50:03 · 3363 阅读 · 2 评论 -
图像分割——边缘检测——边缘连接的全局处理——霍夫变换(Matlab)
clc;clear all;close all;%边缘连接测试图像I=im2double(imread('D:\Gray Files\10-34.tif'));[M,N]=size(I);n=13;%寻找图像的边缘sigma=2;H=0.15;L=0.05;g_c=CannyEdgeDetector(n,sigma,H,L,I);%找出所有的边线点[rows,cols]...原创 2019-09-06 20:42:40 · 7624 阅读 · 5 评论 -
图像分割——边缘检测——边缘连接的局部处理(Matlab)
%Edge linking using local processingclc;clear all;close all;%边缘连接测试图像I=im2double(imread('D:\Gray Files\10-27.tif'));[M,N]=size(I);%=============================边缘检测(六)=========================...原创 2019-09-06 20:32:20 · 14782 阅读 · 7 评论 -
图像分割——边缘检测——Canny算法(Matlab)
clc;clear all;close all;I=im2double(imread('D:\Gray Files\10-26.tif'));[M,N]=size(I);%%%=============================边缘检测(五)=================================% Canny Edge Detector%------------...原创 2019-09-06 20:26:50 · 6553 阅读 · 5 评论 -
图像分割——边缘检测——LoG(Marr-Hildreth算法)(Matlab)
clc;clear all;close all;%边缘测测试图像(Detection of Edge)I=im2double(imread('D:\Gray Files\10-16.tif'));[M,N]=size(I);%%%=============================边缘检测(四)=================================% Marr...原创 2019-09-06 20:19:42 · 6221 阅读 · 3 评论 -
图像分割——边缘检测——均值+Sobel算子(Matlab)
clc;clear all;close all;I=im2double(imread('D:\Gray Files\10-16.tif'));[M,N]=size(I);%%%=============================边缘检测(二)=================================%对图像先进行均值处理,而后用Sobel算子%5*5均值算子n=...原创 2019-09-06 20:12:21 · 2078 阅读 · 0 评论 -
图像分割——边缘检测——Sobel算子——梯度(Matlab)
clc;clear all;close all;I=im2double(imread('D:\Gray Files\10-16.tif'));[M,N]=size(I);%%%=============================边缘检测(一)=================================%Sobel算子Lx=[-1 -2 -1; 0 0 0;...原创 2019-09-05 20:08:41 · 4202 阅读 · 0 评论 -
图像分割——线检测——方向算子(Matlab)
clc;clear all;close all;%线检测测试图像(Detection of Line)I=im2double(imread('D:\Gray Files\10-5.tif'));[M,N]=size(I);%===============================线检测(二)=================================%线检测方向算子...原创 2019-09-05 20:00:56 · 4054 阅读 · 0 评论 -
图像形态学处理——腐蚀(Matlab)
clc;clear all;close all;%读入图像,并转换为double型,该计算针对的是二值图像,所以加入图像时需注意%膨胀测试图像I=im2double(imread('D:\Gray Files\9-7.tif'));%获得图像大小[M,N]=size(I);%存放膨胀后的图像J=zeros(M,N);n=3;%=======================...原创 2019-09-04 21:19:32 · 13499 阅读 · 0 评论 -
图像形态学处理——膨胀(Matlab)
clc;clear all;close all;%读入图像,并转换为double型,该计算针对的是二值图像,所以加入图像时需注意%膨胀测试图像I=im2double(imread('D:\Gray Files\9-7.tif'));%获得图像大小[M,N]=size(I);%存放膨胀后的图像J=zeros(M,N);%%%========================...原创 2019-09-04 21:17:46 · 12142 阅读 · 0 评论 -
灰度图像复原——空间滤波——自适应噪声削减滤波器(Matlab)
%%%%%%------------------图像复原之空间滤波---------------------------------clc;clear;%读入图像,并转换为double型I=imread('D:\Gray Files\5-13.tif');I_D=im2double(I);[MM,NN]=size(I_D);%%%%%----------------------3...原创 2019-09-04 21:03:26 · 882 阅读 · 1 评论 -
灰度图像的频率域滤波——高斯(Gaussian)低通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%========...原创 2019-09-03 20:54:42 · 4519 阅读 · 0 评论 -
灰度图像的频率域滤波——巴特沃斯(Butterworth)高通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%%%%=====...原创 2019-09-02 21:24:59 · 10055 阅读 · 1 评论 -
灰度图像的频率域滤波——巴特沃斯(Butterworth)低通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%%%%=====...原创 2019-09-02 21:22:53 · 8100 阅读 · 0 评论 -
灰度图像的频率域滤波——理想高通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%%%%=====...原创 2019-09-02 21:20:47 · 7177 阅读 · 2 评论 -
灰度图像的频率域滤波——理想低通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%%%%=====...原创 2019-09-02 21:18:34 · 4512 阅读 · 0 评论 -
灰度图像的混合空间增强——Sobel算子
clc;clear all;I=im2double(imread('D:\Gray Files\3-43.tif'));len=1;%对原始图像进行扩展,此处采用了镜像扩展,目的是解决边缘计算的问题f_pad=padarray(I,[len,len]);[M,N]=size(f_pad);%sobel算子Lx=[-1 -2 -1; 0 0 0; 1 2 1];...原创 2019-09-02 21:10:57 · 684 阅读 · 0 评论 -
灰度图像的锐化——拉普拉斯算子
clc;clear all;I=im2double(imread('D:\Gray Files\3-33.tif'));KernelType=4;c=1;%扩展区域的行列数KernelSize=3;len=floor(KernelSize/2);%对原始图像进行扩展,此处采用了镜像扩展,目的是解决边缘计算的问题f_pad=padarray(I,[len,len],'symm...原创 2019-09-02 21:06:23 · 3569 阅读 · 2 评论 -
灰度图像的中值滤波(MatLab)
clc;clear all;img=im2double(imread('D:\Gray Files\3-33.tif'));KernelSize=7;%扩展区域的行列数len=floor(KernelSize/2);%对原始图像进行扩展,此处采用了镜像扩展,目的是解决边缘计算的问题img_pad=padarray(img,[len,len],'symmetric');[M,N]...原创 2019-09-02 21:02:30 · 2791 阅读 · 0 评论 -
灰度图像的平滑滤波-均值核函数、加权平均核函数、平方根核函数(Matlab)
clc;clear all;img=im2double(imread('D:\Gray Files\3-33.tif'));KernelSize=43;Kernel_Type='square root kernel';%扩展区域的行列数len=floor(KernelSize/2);%对原始图像进行扩展,此处采用了镜像扩展,目的是解决边缘计算的问题img_pad=padarr...原创 2019-09-02 20:56:47 · 2039 阅读 · 0 评论 -
灰度图像的直方图统计增强(Matlab)
clc;clear all;img=im2double(imread('D:\Gray Files\3-27.tif'));BlockSize=3;%求原始图像的均值和标准差img_mean=mean2(img);img_std=std2(img);g=img;%扩展区域的行列数len=floor(BlockSize/2);%对原始图像进行扩展,此处采用了镜像扩展,目的是解决...原创 2019-09-02 20:43:30 · 2822 阅读 · 0 评论 -
灰度图像的频率域滤波——高斯(Gaussian)高通滤波器(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%%========...原创 2019-09-03 20:56:45 · 3789 阅读 · 1 评论 -
灰度图像的频率域滤波——拉普拉斯高通滤波(Matlab)
clc;clear all;close all;%读入图像,并转换为double型I=imread('D:\Gray Files\4-41.tif');I_D=im2double(I);%获得图像的高度和宽度[M,N]=size(I_D);%图像中心点M0=M/2;N0=N/2;J=fft2(I_D);J_shift=fftshift(J);%%%=========...原创 2019-09-03 20:58:47 · 2140 阅读 · 0 评论 -
灰度图像复原——空间滤波——修正后的阿尔法均值滤波器(Matlab)
%%%%%%------------------图像复原之空间滤波---------------------------------clc;clear;%读入图像,并转换为double型I=imread('D:\Gray Files\5-7.tif');I_D=im2double(I);[MM,NN]=size(I_D);%%%%%----------------------2、...原创 2019-09-04 21:01:14 · 4725 阅读 · 0 评论 -
灰度图像复原——空间滤波——最大值或最小值滤波器(Matlab)
%%%%%%------------------图像复原之空间滤波---------------------------------clc;clear;%读入图像,并转换为double型I=imread('D:\Gray Files\5-7.tif');I_D=im2double(I);[MM,NN]=size(I_D);%%%%%----------------------2、...原创 2019-09-04 15:56:21 · 5090 阅读 · 0 评论