本文目錄一覽:
- 1、python io. imread如何設置參數,使讀取的圖片為灰度圖?
- 2、python訓練得到的分割圖值是負的怎麼得到黑白圖
- 3、如何用python把圖片轉換成黑白像素的
- 4、python的pillow庫怎麼處理灰度圖像
- 5、python 如何只選中圖片里的一種顏色 變更為另一個種顏色
- 6、python實現圖片變亮或者變暗的方法
python io. imread如何設置參數,使讀取的圖片為灰度圖?
方法一:在使用OpenCV讀取圖片的同時將圖片轉換為灰度圖:
img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)
print(“cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)結果如下:”)
print(‘大小:{}’.format(img.shape))
print(“類型:%s”%type(img))
print(img)
運行結果如下圖所示:
方法二:使用OpenCV,先讀取圖片,然後在轉換為灰度圖:
img = cv2.imread(imgfile)
#print(img.shape)
#print(img)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #Y = 0.299R + 0.587G + 0.114B
print(“cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)結果如下:”)
print(‘大小:{}’.format(gray_img.shape))
print(“類型:%s” % type(gray_img))
print(gray_img)
運行結果如下:
方法三:使用PIL庫中的Image模塊:
img = np.array(Image.open(imgfile).convert(‘L’), ‘f’) #讀取圖片,灰度化,轉換為數組,L = 0.299R + 0.587G + 0.114B。’f’為float類型
print(“Image方法的結果如下:”)
print(‘大小:{}’.format(img.shape))
print(“類型:%s” % type(img))
print(img)
python訓練得到的分割圖值是負的怎麼得到黑白圖
使用python將圖片改為灰度圖或黑白圖有三種方式:
1. 使用cv2庫將圖片改為灰度圖2. 利用PIL庫將圖片改為黑白圖3. 利用PIL庫將圖片改為灰度圖。
Python [7] 已經成為最受歡迎的程序設計語言之一。自從2004年以後,python的使用率呈線性增長。Python 2於2000年10月16日發佈,穩定版本是Python 2.7。Python 3於2008年12月3日發佈,不完全兼容Python 2。 [6] 2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。
如何用python把圖片轉換成黑白像素的
如果你下載的是Python3的,那麼print(“hello world”)才正確。
圖像處理中的邊緣檢測這塊一般採用膨脹算法啥的,第一步應該是從彩色或者灰度轉二色,我覺得用PIL這些庫來處理挺好。而圖像處理本身python應該有包可以干這個活的吧。
python的pillow庫怎麼處理灰度圖像
Pillow是Python里的圖像處理庫(PIL:Python Image Library),提供了了廣泛的文件格式支持,強大的圖像處理能力,主要包括圖像儲存、圖像顯示、格式轉換以及基本的圖像處理操作等。
1)使用 Image 類
PIL最重要的類是 Image class, 你可以通過多種方法創建這個類的實例;你可以從文件加載圖像,或者處理其他圖像, 或者從 scratch 創建。
要從文件加載圖像,可以使用open( )函數,在Image模塊中:
from PIL import Image
im = Image.open(“E:/photoshop/1.jpg”)
加載成功後,將返回一個Image對象,可以通過使用示例屬性查看文件內容:
print(im.format, im.size, im.mode)
(‘JPEG’, (600, 351), ‘RGB’)
format 這個屬性標識了圖像來源。如果圖像不是從文件讀取它的值就是None。size屬性是一個二元tuple,包含width和height(寬度和高度,單位都是px)。 mode 屬性定義了圖像bands的數量和名稱,以及像素類型和深度。常見的modes 有 「L」 (luminance) 表示灰度圖像, 「RGB」 表示真彩色圖像, and 「CMYK」 表示出版圖像。
如果文件打開錯誤,返回 IOError 錯誤。
只要你有了 Image 類的實例,你就可以通過類的方法處理圖像。比如,下列方法可以顯示圖像:
im.show()
2)讀寫圖像
PIL 模塊支持大量圖片格式。使用在 Image 模塊的 open() 函數從磁盤讀取文件。你不需要知道文件格式就能打開它,這個庫能夠根據文件內容自動確定文件格式。要保存文件,使用 Image 類的 save() 方法。保存文件的時候文件名變得重要了。除非你指定格式,否則這個庫將會以文件名的擴展名作為格式保存。
加載文件,並轉化為png格式:
“Python Image Library Test”
from PIL import Image
import os
import sys
for infile in sys.argv[1:]:
f,e = os.path.splitext(infile)
outfile = f +”.png”
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print(“Cannot convert”, infile)
save() 方法的第二個參數可以指定文件格式。
3)創建縮略圖
縮略圖是網絡開發或圖像軟件預覽常用的一種基本技術,使用Python的Pillow圖像庫可以很方便的建立縮略圖,如下:
# create thumbnail
size = (128,128)
for infile in glob.glob(“E:/photoshop/*.jpg”):
f, ext = os.path.splitext(infile)
img = Image.open(infile)
img.thumbnail(size,Image.ANTIALIAS)
img.save(f+”.thumbnail”,”JPEG”)
上段代碼對photoshop下的jpg圖像文件全部創建縮略圖,並保存,glob模塊是一種智能化的文件名匹配技術,在批圖像處理中經常會用到。
注意:Pillow庫不會直接解碼或者加載圖像柵格數據。當你打開一個文件,只會讀取文件頭信息用來確定格式,顏色模式,大小等等,文件的剩餘部分不會主動處理。這意味着打開一個圖像文件的操作十分快速,跟圖片大小和壓縮方式無關。
4)圖像的剪切、粘貼與合併操作
Image 類包含的方法允許你操作圖像部分選區,PIL.Image.Image.crop 方法獲取圖像的一個子矩形選區,如:
# crop, paste and merge
im = Image.open(“E:/photoshop/lena.jpg”)
box = (100,100,300,300)
region = im.crop(box)
矩形選區有一個4元元組定義,分別表示左、上、右、下的坐標。這個庫以左上角為坐標原點,單位是px,所以上訴代碼複製了一個 200×200 pixels 的矩形選區。這個選區現在可以被處理並且粘貼到原圖。
region = region.transpose(Image.ROTATE_180)
im.paste(region, box)
當你粘貼矩形選區的時候必須保證尺寸一致。此外,矩形選區不能在圖像外。然而你不必保證矩形選區和原圖的顏色模式一致,因為矩形選區會被自動轉換顏色。
5)分離和合併顏色通道
對於多通道圖像,有時候在處理時希望能夠分別對每個通道處理,處理完成後重新合成多通道,在Pillow中,很簡單,如下:
r,g,b = im.split()
im = Image.merge(“RGB”, (r,g,b))
對於split( )函數,如果是單通道的,則返回其本身,否則,返回各個通道。
6)幾何變換
對圖像進行幾何變換是一種基本處理,在Pillow中包括resize( )和rotate( ),如用法如下:
out = im.resize((128,128))
out = im.rotate(45) # degree conter-clockwise
其中,resize( )函數的參數是一個新圖像大小的元祖,而rotate( )則需要輸入順時針的旋轉角度。在Pillow中,對於一些常見的旋轉作了專門的定義:
out = im.transpose(Image.FLIP_LEFT_RIGHT)
out = im.transpose(Image.FLIP_TOP_BOTTOM)
out = im.transpose(Image.ROTATE_90)
out = im.transpose(Image.ROTATE_180)
out = im.transpose(Image.ROTATE_270)
7)顏色空間變換
在處理圖像時,根據需要進行顏色空間的轉換,如將彩色轉換為灰度:
cmyk = im.convert(“CMYK”)
gray = im.convert(“L”)
8)圖像濾波
圖像濾波在ImageFilter 模塊中,在該模塊中,預先定義了很多增強濾波器,可以通過filter( )函數使用,預定義濾波器包括:
BLUR、CONTOUR、DETAIL、EDGE_ENHANCE、EDGE_ENHANCE_MORE、EMBOSS、FIND_EDGES、SMOOTH、SMOOTH_MORE、SHARPEN。其中BLUR就是均值濾波,CONTOUR找輪廓,FIND_EDGES邊緣檢測,使用該模塊時,需先導入,使用方法如下:
from PIL import ImageFilter
imgF = Image.open(“E:/photoshop/lena.jpg”)
outF = imgF.filter(ImageFilter.DETAIL)
conF = imgF.filter(ImageFilter.CONTOUR)
edgeF = imgF.filter(ImageFilter.FIND_EDGES)
imgF.show()
outF.show()
conF.show()
edgeF.show()
除此以外,ImageFilter模塊還包括一些擴展性強的濾波器:
class PIL.ImageFilter.GaussianBlur(radius=2)
python 如何只選中圖片里的一種顏色 變更為另一個種顏色
import Image
img = Image.open(“pic.jpg”)
for i in xrange(300):
for j in xrange(300):
r,g,b = img.getpixel((i,j))
if(b g and b r): #對藍色進行判斷
b=127
g=127
r=127
img.putpixel((i,j), (r,g,b))
img.show()
python實現圖片變亮或者變暗的方法
python實現圖片變亮或者變暗的方法
這篇文章主要介紹了python實現圖片變亮或者變暗的方法,涉及Python中Image模塊操作圖片的相關技巧,分享給大家供大家參考。具體實現方法如下:
import Image
# open an image file (.jpg or.png) you have in the working folder
im1 = Image.open(“angelababy.jpg”)
# multiply each pixel by 0.9 (makes the image darker)
# works best with .jpg and .png files, darker 1.0 lighter
# (.bmp and .gif files give goofy results)
# note that lambda is akin to a one-line function
im2 = im1.point(lambda p: p * 0.5)
# brings up the modified image in a viewer, simply saves the image as
# a bitmap to a temporary file and calls viewer associated with .bmp
# make certain you have associated an image viewer with this file type
im2.show()
# save modified image to working folder as Audi2.jpg
im2.save(“angelababy2.jpg”)
運行效果如下所示:
希望本文所述對大家的Python程序設計有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/254145.html