1. 程式人生 > >Python: 影象處理的基本運算

Python: 影象處理的基本運算

Python 作為一種面向物件、直譯式的計算機程式語言,在很多領域得到廣泛應用。

本文主要介紹 Python 在影象處理中的基本運算,藉助 scikit-image 庫,Python 在做影象處理的
時候非常方便,對於習慣用MATLAB的人來說,可以非常快速的習慣Python的語法。 熟悉了這些
基本的運算,就可以做進一步複雜的影象處理了。

import numpy as np
from skimage import data
import matplotlib.pyplot as plt
from skimage import io
import time
from skimage import
img_as_float, img_as_ubyte # 讀取影象 file_name='E:/Visual Effects/PS Algorithm/2.jpg'; img=io.imread(file_name) file_name2='E:/Visual Effects/PS Algorithm/3.jpg' img2=io.imread(file_name2) # 影象的融合, img3=img2*0.5+img*0.5; # 浮點值的影象歸一化到 0-1 之間 img3=img3/255.0; # 影象資料型別的轉換 img3=img_as_float(img3); img3=img_as_ubyte(img3); # 分離影象的 R, G, B 三個通道
r_img=img2[:,:,0]; g_img=img2[:,:,1]; b_img=img2[:,:,2]; # 儲存影象 io.imsave('red.jpg', r_img); io.imsave ('out.jpg', img3); # 訪問影象中的畫素 # 單通道影象 aa=r_img[0:3, 0:4]; # 多通道影象 bb=img[0:3, 0:4, :]; print aa print bb[1] # 影象的顯示 # 顯示彩色影象 plt.figure(1) plt.imshow(img) # 顯示灰度影象 plt.figure(2) plt.imshow(r_img, plt.cm.gray) plt.figure(3
) plt.imshow(g_img, plt.cm.gray) plt.figure(4) plt.imshow(b_img, plt.cm.gray) plt.axis('off'); plt.show(); # 獲取影象的維度,行數,列數以及通道數 row, col, channel=img.shape; print "red channel", r_img.dtype, r_img.shape print "green channel", g_img.dtype, g_img.shape print "blue channel", g_img.dtype, b_img.shape print r_img.shape, row, col, channel # 求影象的最大值,最小值,均值 print img3.min(), img3.max(), img3.mean()