图像锐化——基于梯度算子的五种方法
生活随笔
收集整理的這篇文章主要介紹了
图像锐化——基于梯度算子的五种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一、計算原理?
二、圖像灰度化函數
三、主程序
四、仿真效果
一、計算原理?
二、圖像灰度化函數
function[A]=myreb2gray(a) n=size(a,3); if n==1A=a;disp('該圖像是灰度圖') elseA=rgb2gray(a); disp('該圖像是彩色圖') end end三、主程序
clear; close all; clc %% 圖像變換灰度變換(這里是默認將彩色圖像灰度化了,如果想做彩色圖片,可以將第三行I=myreb2gray(I);注釋即可) I = imread('tire.tif');%讀取圖像 I=myreb2gray(I);%調用函數,處理圖像使之灰度化 A=double(I);%將矩陣中的數,轉化為雙精度數,進行下面梯度的計算 %% 參數定義 [Gx,Gy]=gradient(A); % 計算梯度 G=sqrt(Gx.*Gx+Gy.*Gy);% 注意是矩陣點乘 n=size(I,1);%以下內容為構造一個和圖像一樣大的矩陣,寫第三、四、五種銳化方法中固定灰度級 m=size(I,2); k=size(I,3); LG=ones(n,m,k);%如果不定義矩陣的話,可能會導致數組維度不一樣 LB=ones(n,m,k); LG=150*LG;%固定灰度級 LB=50*LB;%固定灰度級 T=7;%梯度閾值 %% 第一種圖像增強 J1=G; %% 第二種圖像增強 J2=I; K=find(G>=T);%找出梯度大于T值的G并返回K值 J2(K)=G(K); %% 第三種圖像增強 J3=I; K=find(G>=T);%找出梯度大于T值的G并返回K值 J3(K)=LG(K); %% 第四種圖像增強 J4=I; K=find(G<=T);%找出梯度小于T值的G并返回K值 J4(K)=LG(K);%LG為固定的灰度級 %% 第五種圖像增強 J5=I; K=find(G<=T);%找出梯度小于T值的G并返回K值 J5(K)=LB(K);%LB為一固定灰度級 Q=find(G>=T);%找出梯度大于T值的G并返回Q值 J5(Q)=LG(Q); %% 顯示圖形 figure,%建立圖像 subplot(2,3,1),imshow(I); title('原圖像'); subplot(2,3,2),imshow(J1); title('第一種'); subplot(2,3,3),imshow(J2); title('第二種'); subplot(2,3,4),imshow(J3); title('第三種'); subplot(2,3,5),imshow(J4); title('第四種'); subplot(2,3,6),imshow(J5); title('第五種'); %注意:在每種增強前,一定要用原始圖像去賦值,如:J5=I;。如果用J5=LB;輸出圖片會變白四、仿真效果
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的图像锐化——基于梯度算子的五种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MS
- 下一篇: 我的世界怎么联机手机