1. 程式人生 > >matlab函式mapminmax不適用與於影象處理中的灰度級的擴充套件與壓縮

matlab函式mapminmax不適用與於影象處理中的灰度級的擴充套件與壓縮

以下例子用於說明該問題:

在使用laplacian進行影象銳化時,我們會遇到資料型別的轉化,同時伴隨著產生了灰度級的擴充套件與壓縮的問題。(使用matlab程式設計)

I = imread('2.jpg');
I_g = rgb2gray(I);
imtool(I_g,[])
% 使用laplacian進行影象銳化,該過程會產生負值,因此需要使用double型別
w = fspecial('laplacian',0);
I_g_d = double(I_g);
g = imfilter(I_g_d,w,'replicate');
I_g_g = I_g_d-g;
% 在處理完之後,後續為了程式設計的方便,我們需要將資料恢復到0-255之間
I_g_g_g = mapminmax(I_g_g,0,255);
imtool(I_g_g_g,[]);

原影象:


輸出的影象:

觀察輸出影象,發現水平方向出現一道一道的線,為什麼會產生這樣的現象,因為mapminmax意思是將矩陣的每一行處理成[-1,1]區間(參考:Matlab中的資料預處理-歸一化(mapminmax)與標準化(mapstd))。雖然該函式演算法也使用y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin,這個演算法可以實現灰度級的擴充套件與壓縮,只是該函式使用的是一行,而不是全域性的。

那麼在使用laplacian進行影象銳化時,灰度級的擴充套件與壓縮的問題怎麼處理呢?(參考:)

相關推薦

matlab函式mapminmax適用影象處理擴充套件壓縮

以下例子用於說明該問題:在使用laplacian進行影象銳化時,我們會遇到資料型別的轉化,同時伴隨著產生了灰度級的擴充套件與壓縮的問題。(使用matlab程式設計)I = imread('2.jpg'); I_g = rgb2gray(I); imtool(I_g,[]) %

Matlab影象處理變換函式

首先明確幾個概念 1,灰度:對於通常所謂的黑白影象,把黑色和白色之間按對數關係分為若干等級稱為灰度。灰度分為256階,用灰度表示的影象稱作灰度圖.在影象中用0~255表示,0是全黑,255是全白 2.對比度:對比度值一幅影象中敏感區域最亮的白和最暗的黑之間的不同亮度層級的測

Matlab影象處理圖,繪製直方圖,直方圖均衡化

1.imread() MATLAB中影象讀取函式與OpenCV一樣是imread,可以開啟指定路徑圖片,其路徑表示方式與OpenCV中有些許不同如: srcImage=imread('E:\MatlabWorkSpace\實驗一\實驗一圖一.png'); 路徑符號為單"\"

【數字影象處理變換函式(對數變換、反對數變換、冪次變換)

// 對比度增強.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <opencv2/opencv.hpp> #include <math.h> #include <iostream&g

影象處理模糊影象彩色清晰影象的變換

  針對模糊影象的處理,個人覺得主要分兩條路,一種是自我激發型,另外一種屬於外部學習型。接下來我們一起學習這兩條路的具體方式。 第一種 自我激發型   基於影象處理的方法,如影象增強和影象復原,以及曾經很火的超解析度演算法。都是在不增加額外資訊的前提下的實現

影象處理的valid卷積same卷積

#valid卷積 在full卷積的卷積過程中,會遇到$K_{flip}$靠近I的邊界(K矩陣與I矩陣),就會有部分延申到I之外,這時候忽略邊界,只考慮I*完全*覆蓋$K_{flip}$內的值情況,這個的過程就是valid卷積。一個高為H1,寬為W1的矩陣I與高為H2,寬為W2的矩陣K,在H1大於等於H2,W1

影象處理化,二值化,反色

灰度化 (grayscale) 將彩色影象轉化為灰度影象的過程稱為影象灰度化。彩色影象中的畫素值由RGB三個分量決定,每個分量都有0-255(256種)選擇,這樣一個畫素點的畫素值可以有1600萬種可能(256*256*256),而灰度圖的畫素點的畫素值是RGB三個分量值相

java影象處理化,二值化,降噪,切割,裁剪,識別,找相似等

前段時間做爬蟲,涉及到對圖片驗證碼的破解,這裡羅列一些常用的影象處理方法,都很簡單並沒用到什麼複雜的演算法,所以不涉及opencv,都是一些直接對rgb畫素點的操作,很簡單也很好理解,至於識別直接用的tesseract-ocr,也可以用svm。(ps:圖片的畫素值矩陣的原點在

影象處理opencv2-直方圖以及直方圖均衡化

1灰度直方圖        1.1 概念 灰度直方圖是關於灰度級分佈的函式,是對影象中灰度級分佈的統計。 灰度直方圖是將數字影象中的所有畫素,按照灰度值的大小,統計其出現的頻率。 灰度直方圖是灰度級的函式,它表示影象中具有某種灰度級的畫素的個數,反映了影象中某種灰度出現的

【數字影象處理直方圖、直方圖均衡化、直方圖規定化

    灰度直方圖   一幅影象由不同灰度值的畫素組成,影象中灰度的分佈情況是該影象的一個重要特徵。影象的灰度直方圖就描述了影象中灰度分佈情況,能夠很直觀的展示出影象中各個灰度級所佔的多少。影象的灰度直方圖是灰度級的函式,描述的是影象中具有該灰度級的畫素的個數:其中,橫座標是灰度級,

MATLAB數字影象處理概述

1. DIP概述 (1) 數字影象處理(Digital Image Processing)及特點 數字影象處理又稱為計算機影象處理,它是將影象訊號轉換成數字訊號並利用計算機對其進行處理的過程,以提高影象的實用性,從而達到人們所要求的預期結果。數字影象處理有以下特點:處理資訊量大

影象處理矩形標記影象某一塊區域matlabrectangle函式介紹

rectangle('Position',[x,y,w,h]) 從點(x,y)開始繪製一個寬w高h的矩形,對座標軸資料單元指定值。 注意,按指定的比例顯示矩形,需要設定座標軸資料寬高比來使得x和y軸有等長的單位。你可以用命令axis equal 或者daspect([1,

Matlab影象序列的運動目標檢測跟蹤

clc; clear; % close all; %%%%%%%%%%%%%%% 讀序列影象 %%%%%%%%%%% location = 'D:\ex7\';%資料夾位置 count=2; %影象幀數 % aviFileName = 'images2AVI.avi'; aviObj =avifile('i

Matlab和Octave在計算機視覺和影象處理領域的函式的對比

Matlab和Octave是兩個數值計算的軟體平臺,眾所周知,Matlab是商業支援的軟體,收費昂貴,而Octave是開源免費的。Octave常被人們稱為是“開源免費的Matlab版本”。 所以,大家

MATLAB轉換TXT值資料格式,將資料輸出為影象

在整理地圖測繪資料時,需要將資料先匯出,然後將資料轉化為影象資訊,使用MATLAB進行轉化遇到點問題,最後算是能出影象了,就將這一點經驗分享下。 首先看下匯出來的資料格式,匯出來的為TXT格式,其中橢圓是有效資料, 但是這種資料比較格魯的一點是,輸出的資料是40*400的

能量泛函優化方法——L2範數(應用影象處理

在深度學習大火的今天,熟不知以前的影象處理方法大都還是使用能量泛函優化的方法,即使是今天依然有著深度學習不可取代的魅力。要想學習,基礎的優化方法必不可少。 先說說傳統的影象處理方法包括影象超分,影象去模糊,影象去噪等,現在一些有意思的應用比如去雨、去霧、去霾、去雲等等。在深度學習之前解決這類

【數字影象處理】作業二 邊緣檢測追蹤

作業二 邊緣檢測與追蹤 吳政億 151220129 [email protected] (南京大學 電腦科學與技術系, 南京 210093) 邊緣檢測 在邊緣檢測中,我使用了sobel,roberts,prewitt,marr作為運算元,對

影象處理,SIFT,FAST,MSER,STAR等特徵提取演算法的比較分析(利用openCV實現)

本人為研究生,最近的研究方向是物體識別。所以就將常用的幾種特徵提取方式做了一個簡要的實驗和分析。這些實驗都是藉助於openCV在vs2010下完成的。基本上都是使用的openCV中內建的一些功能函式。 1. SIFT演算法 尺度不變特徵轉換(Scale-inva

數字影象處理第一次作業——JPEG格式壓縮流程分析

歡迎閱讀 此篇部落格是由曹老師數字影象處理課程佈置的第一次作業(2018年9月16日) 作業內容: 分析JPEG格式、原理、壓縮流程、下載實現程式碼並調通執行、計算壓縮率。 此篇部落格以分析原理為主,在每個演算法之後會貼出對應的C語言程式碼。 本文程式碼使用的

OpenCV之影象處理(十六) 卷積運算元自定義線性濾波

卷積概念 卷積是影象處理中一個操作,是kernel在影象的每個畫素上的操作。 Kernel本質上一個固定大小的矩陣陣列,其中心點稱為錨點(anchor point) 卷積如何工作 把kernel放到畫素陣列之上,求錨點周圍覆蓋的畫素乘積之