此篇文章主要是給大家介紹了python圖像處理象素的瀏覽與裁切實例詳細說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪。
前言
高清圖片讀取系統中后,要以numpy二維數組存有的。所以對numpy二維數組的所有作用,對圖片也適用于。對數組元素的瀏覽,實際上是對圖片像素數的瀏覽。
彩色圖片訪問方式為:
img[i,j,c]
i表示圖片的行數,j表示圖片的列數,c表示圖片的通道數(RGB三通道分別對應0,1,2)。坐標是從左上角開始。
灰度圖片訪問方式為:
gray[i,j]
例1:輸出小貓圖片的G通道中的第20行30列的像素值
from skimage import io,data img=data.chelsea() pixel=img[20,30,1] print(pixel)
輸出為129
例2:顯示紅色單通道圖片
from skimage import io,data img=data.chelsea() R=img[:,:,0] io.imshow(R)
除了對像素進行讀取,也可以修改像素值。
例3:對小貓圖片隨機添加椒鹽噪聲
from skimage import io,data import numpy as np img=data.chelsea() #隨機生成5000個椒鹽 rows,cols,dims=img.shape for i in range(5000): x=np.random.randint(0,rows) y=np.random.randint(0,cols) img[x,y,:]=255 io.imshow(img)
這里用到了numpy包里的random來生成隨機數,randint(0,cols)表示隨機生成一個整數,范圍在0到cols之間。
用img[x,y,:]=255這句來對像素值進行修改,將原來的三通道像素值,變為255
通過對數組的裁剪,就可以實現對圖片的裁剪。
例4:對小貓圖片進行裁剪
from skimage import io,data img=data.chelsea() roi=img[80:180,100:200,:] io.imshow(roi)
對多個像素點進行操作,使用數組切片方式訪問。切片方式返回的是以指定間隔下標訪問該數組的像素值。下面是有關灰度圖像的一些例子:
img[i,:]=im[j,:]#將第j行的數值賦值給第i行 img[:,i]=100#將第i列的所有數值設為100 img[:100,:50].sum()#計算前100行、前50列所有數值的和 img[50:100,50:100]#50~100行,50~100列(不包括第100行和第100列) img<i>.mean()#第i行所有數值的平均值 img[:,-1]#最后一列 img[-2,:](or im[-2])#倒數第二行
最后我們再看兩個對像素值進行訪問和改變的例子:
例5:將lena圖片進行二值化
像素值大于128的變為1,否則變為0
from skimage import io,data,color img=data.lena() img_gray=color.rgb2gray(img) rows,cols=img_gray.shape for i in range(rows): for j in range(cols): if(img_gray[i,j]<=0.5): img_gray[i,j]=0 else: img_gray[i,j]=1 io.imshow(img_gray)
這個例子,使用了color模塊的rgb2gray()函數,將彩色三通道圖片轉換成灰度圖。轉換結果為float64類型的數組,范圍為[0,1]之間。
例6:R通道的所有像素值進行判斷
from skimage import io,data img=data.chelsea() reddish=img[:,:,0]>170 img[reddish]=[0,255,0] io.imshow(img)
這個例子先對R通道的所有像素值進行判斷,如果大于170,則將這個地方的像素值變為[0,255,0],即G通道值為255,R和B通道值為0。
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128834.html
摘要:本文是重溫基礎系列文章的第十七篇。系列目錄復習資料資料整理個人整理重溫基礎篇重溫基礎對象介紹重溫基礎對象介紹本章節復習的是中的關于相關知識,介紹的比較多。表示在給定的時間的相關設備的位置。所有現代瀏覽器均支持對象和使用。 本文是 重溫基礎 系列文章的第十七篇。今日感受:挑戰。 系列目錄: 【復習資料】ES6/ES7/ES8/ES9資料整理(個人整理) 【重溫基礎】1-14篇 【...
本文關鍵闡述了運用Python實現圖片轉字符畫,要把圖片轉字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉化成1個灰度級,把它相對應的標識符導出就得到了字符畫 序言 相信大家在網上常常看到有些人展現出各種各樣字符畫,對于這些色彩斑斕的全球而言,我們平時看到的就是某些超清的彩色圖片,有時候再來一個粗糙黑白字符畫,還是比較緩解疲勞的。喜愛不要忘記個人收藏、關心、...
Python語言的表達照片處理使人們常常所使用的層面,那樣我們應該怎么實現圖片的裁切呢?接下來本文關鍵為大家介紹了關于用python圖片剪裁的資料,原文中根據案例編碼推薦的十分詳盡,必須的小伙伴可以借鑒一下 怎么使用python圖片剪裁 以上如圖所示,這也是1張包括了各種象棋棋子的照片。我們應該將在其中每個棋盤都裁切出去,這時可以借助python的PIL庫成功。 一、組裝PIL庫 假如...
摘要:上傳圖片順時針旋轉度問題使用獲取圖片當前拍攝角度修正后展示裁切位置不正確或需要減去的差值問題描述當目標元素的上級元素中有使用時,用如上的方法都會導致計算錯誤,這一在常用框架,類庫中都存在。應該是和在實現上的差異造成了。 bug1.ios 上傳圖片 順時針旋轉90度問題 solution1.使用exif.js獲取圖片當前拍攝角度 修正后展示 http://www.mamicode.com...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02