影像處理基礎篇(一)
任務安排:
1、熟悉matlab軟體使用以及常用影像處理函式(如讀取、顯示、擷取、儲存影像等函式);
2、理解影像、影像處理的概念(如影像數字化、影像的表示、影像的型別、畫素值的概念等)。
任務完成:
安裝matlab軟體
首先要安裝matlab軟體,沒有安裝的可以使用下面連結來下載:
連結:https://pan.baidu.com/s/1d5lInTqcn7Tab5ZmPPnvnA
提取碼:luyq
- matlab的基本操作
讀取、顯示、擷取、儲存影像
clear;close all
%清除matlab工作平臺的所有變數
A=imread('D:\shipin\basic\kaifeng.jpg');
%讀取名字為kaifeng.jpg的圖片資料儲存給A
imshow(A);
%顯示圖片A
[x,y]=ginput(2);
%用滑鼠選定要剪下的區域以此獲取兩個座標點並以矩形方式裁剪
a=imcrop(A,[x(1),y(1),x(2),y(2)]);
裁剪影像
imshow(a);
顯示裁剪後的影像
imwrite(a,'D:\shipin\basic\cutA.jpg')
儲存影像a,儲存路徑為D:\shipin\basic,儲存後的圖片檔名為cutA
清除工作
clc:清除命令視窗的內容,對工作環境中的全部變數無任何影響
close:關閉當前的Figure視窗
close all:關閉所有的Figure視窗
clear:清除工作空間的所有變數
clear all:清除工作空間的所有變數,函式,和MEX檔案
讀取資料夾裡同一型別的所有圖片
lear;close all
%清除matlab工作平臺的所有變數
path='D:\shipin\basic\';
%存放圖片的資料夾路徑
im_list = dir(strcat(path,'*.jpg'));
%讀取資料夾中的.png檔案
number=length(im_list);
%取得資料夾中圖片個數
for i = 1:number %採用迴圈方式讀取圖片
im_name =im_list(i).name; %將圖片列表中圖片賦給im_name
picture = imread(strcat(path,im_name)); %讀取圖片
figure(); %建立新的視窗用來顯示圖片
imshow(picture);
end
圖片轉化(灰度、彩色、負片)
clear;close all
A=imread('D:\shipin\basic\kaifeng.jpg');
imshow(A);
greyA=rgb2gray(A);
%將彩色圖片A轉換為灰度圖片greyA
figure,imshow(greyA);
A1=imadjust(greyA,[0,1],[1,0]);
%將灰度圖片greyA轉換為負片A1,即圖片中白的變為黑的,黑的變為白的
figure(),imshow(A1);
- 影像的概念和基本操作
影像數字化
影像數字化是將連續色調的模擬影像經取樣量化後轉換成數字影像的過程。取樣和量化的結果都是實數矩陣。
常見的模擬影像轉換數字影像的裝置有:
掃描器
印表機
數位相機
模擬影像和數字影像
模擬影像:空間上連續/不分割、訊號值不分等級的影像。典型代表是由光學透鏡系統獲取的影像。
數字影像:空間上被分割成離散畫素,由模擬影像數字化得到的、以畫素為基本元素的、可以用數字計算機或數位電路儲存和處理的影像。
模擬影像處理的方式很少,往往只能進行簡單的放大、縮小;而數字影像還可以進行變形、改變亮度、色度等操作,因此影像數字化是進行數字影像處理的前提。
取樣和量化
取樣是按照某種時間間隔或空間間隔,採集模擬訊號的過程,取樣是對x,y座標離散化。
量化是將採集到的模擬訊號歸到有限個訊號等級上,量化是對幅度值(灰度級)的離散化。
影像的型別
二值影像:
一幅二值影像的二維矩陣僅由0、1兩個值構成,“0”代表黑色,“1”代白色。由於每一畫素(矩陣中每一元素)取值僅有0、1兩種可能,所以計算機中二值影像的資料型別通常為1個二進位制位。二值影像通常用於文字、線條圖的掃描識別(OCR)的儲存。
灰度影像:
灰度影像矩陣元素的取值範圍通常為[0,255],因此其資料型別一般為8位無符號整數的(int8),這就是256灰度影像。“0”表示純黑色,“255”表示純白色,中間的數字從小到大表示由黑到白的過渡色。灰度影像也可以用雙精度資料型別(double)表示,畫素的值域為[0,1],0代表黑色,1代表白色,0到1之間的小數表示不同的灰度等級。二值影像可以看成是灰度影像的一個特例。
索引影像:
索引影像的檔案結構比較複雜,除了存放影像的二維矩陣外,還包括一個顏色索引矩陣MAP。MAP的大小由存放影像的矩陣元素值域決定,如矩陣元素值域為[0,255],則MAP矩陣的大小為256ⅹ3,用MAP=[RGB]表示。MAP中每一行對應影像矩陣畫素的一個灰度值,每一行的三個元素分別指定該行對應顏色的紅、綠、藍單色值,如某一畫素的灰度值為64,則該畫素就與MAP中的第64行建立了對映關係,該畫素在螢幕上的實際顏色由第64行的[RGB]組合決定。索引影像的資料型別一般為8位無符號整形(int8),因此一般索引影像只能同時顯示256種顏色。索引影像一般用於存放色彩要求比較簡單的影像,如果影像的色彩比較複雜,就要用到RGB真彩色影像。
RGB彩色影像:
與索引影像一樣,RGB影像分別用紅(R)、綠(G)、藍(B)三原色的組合來表示每個畫素的顏色。但與索引影像不同的是,RGB影像每一個畫素的顏色值(由RGB三原色表示)直接存放在影像矩陣中,由於每一畫素的顏色需由R、G、B三個分量來表示,M、N分別表示影像的行列數,三個M x N的二維矩陣分別表示各個畫素的R、G、B三個顏色分量。RGB影像的資料型別一般為8位無符號整形,通常用於表示和存放真彩色影像,也可以存放灰度影像。
畫素和解析度
畫素是影像中的最小單位,是組成影像的一個個小方格,這些小方格都有一個明確的位置和被分配的色彩數值(畫素值),小方格顏色和位置就決定該影像所呈現出來的樣子。
影像解析度是指每英寸影像中所包含的畫素點數。影像的解析度越高,所包含的畫素就越多,影像就越清晰。
描述解析度的單位有:dpi(點每英寸)、lpi(線每英寸)、ppi(畫素每英寸)和PPD(PPPixels Per Degree 角解析度,畫素每度)。
相關文章
- 【scipy 基礎】--影像處理
- 【傳統影像處理】1 數字影像基礎
- 圖形影像處理之繪圖基礎繪圖
- 影像處理的基礎知識(5)——繪製影像(1)
- OpenCV與影像處理學習二——影像基礎知識(下)OpenCV
- Python影像處理初探:Pillow庫的基礎使用Python
- 影像處理的基礎知識(11)——圖層(1)
- 影像處理的基礎知識(9)——編輯與修飾影像(1)
- 影像處理的基礎知識(14)——通道與蒙版
- Flink系列(0)——準備篇(流處理基礎)
- 【自然語言處理篇】--以NLTK為基礎講解自然語⾔處理的原理和基礎知識自然語言處理
- 影像處理--影像特效特效
- [影像處理] 基於CleanVision庫清洗影像資料集
- Python影像處理丨5種影像處理特效Python特效
- webgl 影像處理2---影像畫素處理Web
- 基於Opencv的簡單影像處理OpenCV
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV
- Python 影像處理 OpenCV (7):影像平滑(濾波)處理PythonOpenCV
- 影像處理的基礎知識(2)——建立與編輯選取(1)
- 影像處理的基礎知識(3)——建立與編輯選取(2)
- pythonPIL影像處理庫簡介(一)Python
- 影像預處理
- 大話css預編譯處理(三):基礎語法篇CSS編譯
- C#基礎之前處理器,異常處理C#
- 【scipy 基礎】--訊號處理
- 處理器基礎知識
- Python基礎 -- 異常處理Python
- [資料處理]python基礎Python
- 【影像處理】基於OpenCV實現影像直方圖的原理OpenCV直方圖
- [Python影象處理] 一.影象處理基礎知識及OpenCV入門函式PythonOpenCV函式
- 【scikit-learn基礎】--『預處理』之 缺失值處理
- OpenCV(影像NaN處理)OpenCVNaN
- 影像處理案例03
- 影像輪廓處理
- 影像處理_切邊
- 前端影像處理指南前端
- 影像預處理方法
- CSS基礎篇(一)CSS