欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

python灰度化函數 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 圖像灰度化怎么處理alpha 值

圖像的灰度處理:

CV_LOAD_IMAGE_GRAYSCALE,這是最簡單之間的辦法,在加載圖像時直接處理

IplImage* Igray=cvLoadImage("test.jpg",CV_LOAD_IMAGE_GRAYSCALE);

得到的圖像就是單通道的,也能夠用這個函數:CVAPI(void) cvCvtColor( const CvArr* src, CvArr* dst, int code );

code=CV_BGR2GRAY;

opencv還提供了非常多方式,我這邊就不一一舉例了。

數字圖像處理Python實現圖像灰度變換、直方圖均衡、均值濾波

import CV2

import copy

import numpy as np

import random

使用的是pycharm

因為最近看了《銀翼殺手2049》,里面Joi實在是太好看了所以原圖像就用Joi了

要求是灰度圖像,所以第一步先把圖像轉化成灰度圖像

# 讀入原始圖像

img = CV2.imread('joi.jpg')

# 灰度化處理

gray = CV2.cvtColor(img, CV2.COLOR_BGR2GRAY)

CV2.imwrite('img.png', gray)

第一個任務是利用分段函數增強灰度對比,我自己隨便寫了個函數大致是這樣的

def chng(a):

if a 255/3:

b = a/2

elif a 255/3*2:

b = (a-255/3)*2 + 255/6

else:

b = (a-255/3*2)/2 + 255/6 +255/3*2

return b

rows = img.shape[0]

cols = img.shape[1]

cover = copy.deepcopy(gray)

for i in range(rows):

for j in range(cols):

cover[i][j] = chng(cover[i][j])

CV2.imwrite('cover.png', cover)

下一步是直方圖均衡化

# histogram equalization

def hist_equal(img, z_max=255):

H, W = img.shape

# S is the total of pixels

S = H * W * 1.

out = img.copy()

sum_h = 0.

for i in range(1, 255):

ind = np.where(img == i)

sum_h += len(img[ind])

z_prime = z_max / S * sum_h

out[ind] = z_prime

out = out.astype(np.uint8)

return out

covereq = hist_equal(cover)

CV2.imwrite('covereq.png', covereq)

在實現濾波之前先添加高斯噪聲和椒鹽噪聲(代碼來源于網絡)

不知道這個椒鹽噪聲的名字是誰起的感覺隔壁小孩都饞哭了

用到了random.gauss()

percentage是噪聲占比

def GaussianNoise(src,means,sigma,percetage):

NoiseImg=src

NoiseNum=int(percetage*src.shape[0]*src.shape[1])

for i in range(NoiseNum):

randX=random.randint(0,src.shape[0]-1)

randY=random.randint(0,src.shape[1]-1)

NoiseImg[randX, randY]=NoiseImg[randX,randY]+random.gauss(means,sigma)

if NoiseImg[randX, randY] 0:

NoiseImg[randX, randY]=0

elif NoiseImg[randX, randY]255:

NoiseImg[randX, randY]=255

return NoiseImg

def PepperandSalt(src,percetage):

NoiseImg=src

NoiseNum=int(percetage*src.shape[0]*src.shape[1])

for i in range(NoiseNum):

randX=random.randint(0,src.shape[0]-1)

randY=random.randint(0,src.shape[1]-1)

if random.randint(0,1)=0.5:

NoiseImg[randX,randY]=0

else:

NoiseImg[randX,randY]=255

return NoiseImg

covereqg = GaussianNoise(covereq, 2, 4, 0.8)

CV2.imwrite('covereqg.png', covereqg)

covereqps = PepperandSalt(covereq, 0.05)

CV2.imwrite('covereqps.png', covereqps)

下面開始均值濾波和中值濾波了

就以n x n為例,均值濾波就是用這n x n個像素點灰度值的平均值代替中心點,而中值就是中位數代替中心點,邊界點周圍補0;前兩個函數的作用是算出這個點的灰度值,后兩個是對整張圖片進行

#均值濾波模板

def mean_filter(x, y, step, img):

sum_s = 0

for k in range(x-int(step/2), x+int(step/2)+1):

for m in range(y-int(step/2), y+int(step/2)+1):

if k-int(step/2) 0 or k+int(step/2)+1 img.shape[0]

or m-int(step/2) 0 or m+int(step/2)+1 img.shape[1]:

sum_s += 0

else:

sum_s += img[k][m] / (step*step)

return sum_s

#中值濾波模板

def median_filter(x, y, step, img):

sum_s=[]

for k in range(x-int(step/2), x+int(step/2)+1):

for m in range(y-int(step/2), y+int(step/2)+1):

if k-int(step/2) 0 or k+int(step/2)+1 img.shape[0]

or m-int(step/2) 0 or m+int(step/2)+1 img.shape[1]:

sum_s.append(0)

else:

sum_s.append(img[k][m])

sum_s.sort()

return sum_s[(int(step*step/2)+1)]

def median_filter_go(img, n):

img1 = copy.deepcopy(img)

for i in range(img.shape[0]):

for j in range(img.shape[1]):

img1[i][j] = median_filter(i, j, n, img)

return img1

def mean_filter_go(img, n):

img1 = copy.deepcopy(img)

for i in range(img.shape[0]):

for j in range(img.shape[1]):

img1[i][j] = mean_filter(i, j, n, img)

return img1

完整main代碼如下:

if __name__ == "__main__":

# 讀入原始圖像

img = CV2.imread('joi.jpg')

# 灰度化處理

gray = CV2.cvtColor(img, CV2.COLOR_BGR2GRAY)

CV2.imwrite('img.png', gray)

rows = img.shape[0]

cols = img.shape[1]

cover = copy.deepcopy(gray)

for i in range(rows):

for j in range(cols):

cover[i][j] = chng(cover[i][j])

CV2.imwrite('cover.png', cover)

covereq = hist_equal(cover)

CV2.imwrite('covereq.png', covereq)

covereqg = GaussianNoise(covereq, 2, 4, 0.8)

CV2.imwrite('covereqg.png', covereqg)

covereqps = PepperandSalt(covereq, 0.05)

CV2.imwrite('covereqps.png', covereqps)

meanimg3 = mean_filter_go(covereqps, 3)

CV2.imwrite('medimg3.png', meanimg3)

meanimg5 = mean_filter_go(covereqps, 5)

CV2.imwrite('meanimg5.png', meanimg5)

meanimg7 = mean_filter_go(covereqps, 7)

CV2.imwrite('meanimg7.png', meanimg7)

medimg3 = median_filter_go(covereqg, 3)

CV2.imwrite('medimg3.png', medimg3)

medimg5 = median_filter_go(covereqg, 5)

CV2.imwrite('medimg5.png', medimg5)

medimg7 = median_filter_go(covereqg, 7)

CV2.imwrite('medimg7.png', medimg7)

medimg4 = median_filter_go(covereqps, 7)

CV2.imwrite('medimg4.png', medimg4)

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灰度化函數 python灰度圖如何二值化
鏈接URL:http://www.kartarina.com/article16/dodhsdg.html

成都網站建設公司_創新互聯,為您提供移動網站建設網站收錄電子商務微信小程序全網營銷推廣網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
久久精品一二三| 555夜色666亚洲国产免| 丁香婷婷深情五月亚洲| 日韩精品一区二区三区在线观看| 婷婷综合另类小说色区| 在线不卡的av| 国模冰冰炮一区二区| 久久精品一区二区三区不卡牛牛| 岛国av在线一区| 亚洲资源中文字幕| 欧美成人a∨高清免费观看| 国产69精品一区二区亚洲孕妇| 国产三级一区二区三区| 91麻豆高清视频| 久久精品国产秦先生| 欧美激情一区在线| 欧美午夜精品电影| 久久99久久精品| 中文字幕欧美一区| 欧美裸体一区二区三区| 国精产品一区一区三区mba桃花 | 亚洲欧洲韩国日本视频| 欧洲av一区二区嗯嗯嗯啊| 蜜桃视频免费观看一区| 亚洲天堂中文字幕| 26uuu精品一区二区在线观看| 成人黄色免费短视频| 欧美96一区二区免费视频| 亚洲视频每日更新| 久久亚洲精品国产精品紫薇| 在线视频你懂得一区| 国产99久久久国产精品| 午夜久久久久久久久久一区二区| 国产精品乱码人人做人人爱 | 亚洲图片激情小说| 精品国产乱码久久久久久闺蜜| 99久久777色| 成人爽a毛片一区二区免费| 三级欧美韩日大片在线看| 亚洲日本免费电影| 日本一区二区三区久久久久久久久不| 欧美日韩一区不卡| 在线免费不卡电影| 成人精品一区二区三区四区| 国产一区二区三区久久久| 日韩激情av在线| 日韩在线一二三区| 午夜精品久久久| 亚洲va欧美va国产va天堂影院| 久久婷婷一区二区三区| 日韩色在线观看| 欧美一区二区三区系列电影| 欧美怡红院视频| 欧美一a一片一级一片| 色婷婷综合激情| 91福利精品视频| 91久久精品一区二区三| 99热99精品| 色婷婷亚洲一区二区三区| 色视频成人在线观看免| 一本色道a无线码一区v| 色偷偷久久人人79超碰人人澡| 99精品欧美一区二区三区小说| 成人免费三级在线| 色婷婷综合久久久中文一区二区| 91蜜桃免费观看视频| 在线免费观看日本一区| 欧美群妇大交群的观看方式| 欧美区视频在线观看| 日韩女优电影在线观看| 国产欧美一区视频| 亚洲男人电影天堂| 午夜精品福利一区二区蜜股av | 日韩二区三区在线观看| 久久99热狠狠色一区二区| 国产一区二区精品久久99| 国产一区二区在线看| 成年人国产精品| 欧美三区在线观看| 精品国产乱码久久久久久久| 国产精品久久久久久户外露出| 依依成人精品视频| 美女视频网站黄色亚洲| 国产成人免费9x9x人网站视频| 色综合久久66| 精品欧美久久久| 亚洲免费观看高清| 久久福利资源站| 97精品久久久午夜一区二区三区 | 91麻豆精品国产自产在线观看一区| 精品国产一区二区亚洲人成毛片 | 最新日韩在线视频| 美女视频一区二区| 91啪九色porn原创视频在线观看| 91麻豆精品国产| 亚洲国产精品精华液ab| 日韩精品乱码av一区二区| 成年人国产精品| 日韩精品中文字幕一区 | 亚洲欧美成aⅴ人在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 国产99久久久久久免费看农村| 欧美日韩不卡一区| 中文字幕一区二区三区在线观看| 麻豆精品国产传媒mv男同| 日本二三区不卡| 国产精品污网站| 久久9热精品视频| 欧美日韩一卡二卡三卡| 亚洲精品老司机| 成人av片在线观看| 欧美成人精品高清在线播放| 亚洲成人1区2区| 91福利在线观看| 日韩毛片一二三区| 成人国产电影网| 国产婷婷一区二区| 免费观看成人av| 欧美一卡二卡三卡| 五月综合激情日本mⅴ| 99re成人精品视频| 日本一区二区成人| 国产精品1024久久| 久久久久久夜精品精品免费| 日韩vs国产vs欧美| 欧美精品久久一区二区三区| 最好看的中文字幕久久| 91碰在线视频| 一个色妞综合视频在线观看| 99久久婷婷国产综合精品电影| 久久精品无码一区二区三区| 狠狠色丁香婷综合久久| 久久久综合激的五月天| 激情综合色综合久久| 2021中文字幕一区亚洲| 精品无人码麻豆乱码1区2区| 日韩精品一区二区三区视频在线观看| 日韩精品亚洲一区| 日韩一区二区免费视频| 国内精品第一页| 日本一区二区三区四区在线视频 | 欧美网站大全在线观看| 亚洲午夜激情网站| 欧美午夜电影在线播放| 人妖欧美一区二区| 久久久国产精品麻豆| av在线这里只有精品| 一区二区三区四区激情| 欧美日韩精品免费观看视频| 日产欧产美韩系列久久99| 日韩亚洲欧美综合| 国产成人精品aa毛片| 一区二区三区美女视频| 在线成人av网站| 国产乱一区二区| 亚洲乱码国产乱码精品精的特点 | 午夜电影久久久| 精品福利av导航| 色综合视频一区二区三区高清| 玉米视频成人免费看| 欧美刺激午夜性久久久久久久| 国产精品一区二区不卡| 亚洲精品亚洲人成人网| 日韩欧美国产三级电影视频| 成人手机电影网| 欧美96一区二区免费视频| 国产精品乱人伦一区二区| 欧美日韩一区不卡| 国产精品亚洲成人| 亚洲综合无码一区二区| 久久免费的精品国产v∧| 色94色欧美sute亚洲13| 国产老肥熟一区二区三区| 一区二区三区四区蜜桃| 久久久三级国产网站| 91精品国产一区二区三区香蕉| 国产一区二区不卡在线| 五月天激情小说综合| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩的一区二区| 99精品久久久久久| 看电视剧不卡顿的网站| 亚洲午夜久久久久久久久电影网| 中文久久乱码一区二区| 欧美一区二区三区喷汁尤物| 色综合久久久网| 不卡av免费在线观看| 国产高清不卡二三区| 久久99久久久欧美国产| 丝袜美腿一区二区三区| 亚洲精品视频在线| 中文字幕一区在线观看视频| 久久久久久久久久看片| 欧美成人精品3d动漫h| 91精品国产入口| 日韩一区二区视频| 欧美一区二区观看视频| 欧美日产在线观看| 欧美日韩美女一区二区| 欧美日韩视频在线一区二区|