最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python OpenCV處理圖像之濾鏡和圖像運算

 更新時間:2018年07月10日 14:57:50   作者:Leo  
這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之濾鏡和圖像運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Python OpenCV處理圖像之濾鏡和圖像運算的具體代碼,供大家參考,具體內(nèi)容如下

0x01. 濾鏡

喜歡自拍的人肯定都知道濾鏡了,下面代碼嘗試使用一些簡單的濾鏡,包括圖片的平滑處理、灰度化、二值化等:

import cv2.cv as cv
 
image=cv.LoadImage('img/lena.jpg', cv.CV_LOAD_IMAGE_COLOR) #Load the image
cv.ShowImage("Original", image)
 
grey = cv.CreateImage((image.width ,image.height),8,1) #8depth, 1 channel so grayscale
cv.CvtColor(image, grey, cv.CV_RGBA2GRAY) #Convert to gray so act as a filter
cv.ShowImage('Greyed', grey)
 
# 平滑變換
smoothed = cv.CloneImage(image)
cv.Smooth(image,smoothed,cv.CV_MEDIAN) #Apply a smooth alogrithm with the specified algorithm cv.MEDIAN
cv.ShowImage("Smoothed", smoothed)
 
# 均衡處理
cv.EqualizeHist(grey, grey) #Work only on grayscaled pictures
cv.ShowImage('Equalized', grey)
 
# 二值化處理
threshold1 = cv.CloneImage(grey)
cv.Threshold(threshold1,threshold1, 100, 255, cv.CV_THRESH_BINARY)
cv.ShowImage("Threshold", threshold1)
 
threshold2 = cv.CloneImage(grey)
cv.Threshold(threshold2,threshold2, 100, 255, cv.CV_THRESH_OTSU)
cv.ShowImage("Threshold 2", threshold2)
 
element_shape = cv.CV_SHAPE_RECT
pos=3
element = cv.CreateStructuringElementEx(pos*2+1, pos*2+1, pos, pos, element_shape)
cv.Dilate(grey,grey,element,2) #Replace a pixel value with the maximum value of neighboors
#There is others like Erode which replace take the lowest value of the neighborhood
#Note: The Structuring element is optionnal
cv.ShowImage("Dilated", grey)
 
cv.WaitKey(0)

0x02. HighGUI

OpenCV 內(nèi)建了一套簡單的 GUI 工具,方便我們在處理界面上編寫一些控件,動態(tài)的改變輸出:

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg", cv.CV_LOAD_IMAGE_GRAYSCALE)
thresholded = cv.CreateImage(cv.GetSize(im), 8, 1)
 
def onChange(val):
  cv.Threshold(im, thresholded, val, 255, cv.CV_THRESH_BINARY)
  cv.ShowImage("Image", thresholded)
 
# 創(chuàng)建一個滑動條控件
onChange(100) #Call here otherwise at startup. Show nothing until we move the trackbar
cv.CreateTrackbar("Thresh", "Image", 100, 255, onChange) #Threshold value arbitrarily set to 100
 
cv.WaitKey(0)

0x03. 選區(qū)操作

有事希望對圖像中某一塊區(qū)域進(jìn)行變換等操作,就可以使用如下方式:

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg",3)
 
# 選擇一塊區(qū)域
cv.SetImageROI(im, (50,50,150,150)) #Give the rectangle coordinate of the selected area
 
# 變換操作
cv.Zero(im)
#cv.Set(im, cv.RGB(100, 100, 100)) put the image to a given value
 
# 解除選區(qū)
cv.ResetImageROI(im) # Reset the ROI
 
cv.ShowImage("Image",im)
 
cv.WaitKey(0)

0x04. 運算

對于多張圖片,我們可以進(jìn)行一些運算操作(包括算數(shù)運算和邏輯運算),下面的代碼將演示一些基本的運算操作:

import cv2.cv as cv#or simply import cv
 
im = cv.LoadImage("img/lena.jpg")
im2 = cv.LoadImage("img/fruits-larger.jpg")
cv.ShowImage("Image1", im)
cv.ShowImage("Image2", im2)
 
res = cv.CreateImage(cv.GetSize(im2), 8, 3)
 
# 加
cv.Add(im, im2, res) #Add every pixels together (black is 0 so low change and white overload anyway)
cv.ShowImage("Add", res)
 
# 減
cv.AbsDiff(im, im2, res) # Like minus for each pixel im(i) - im2(i)
cv.ShowImage("AbsDiff", res)
 
# 乘
cv.Mul(im, im2, res) #Multiplie each pixels (almost white)
cv.ShowImage("Mult", res)
 
# 除
cv.Div(im, im2, res) #Values will be low so the image will likely to be almost black
cv.ShowImage("Div", res)
 
# 與
cv.And(im, im2, res) #Bit and for every pixels
cv.ShowImage("And", res)
 
# 或
cv.Or(im, im2, res) # Bit or for every pixels
cv.ShowImage("Or", res)
 
# 非
cv.Not(im, res) # Bit not of an image
cv.ShowImage("Not", res)
 
# 異或
cv.Xor(im, im2, res) #Bit Xor
cv.ShowImage("Xor", res)
 
# 乘方
cv.Pow(im, res, 2) #Pow the each pixel with the given value
cv.ShowImage("Pow", res)
 
# 最大值
cv.Max(im, im2, res) #Maximum between two pixels
#Same form Min MinS
cv.ShowImage("Max",res)
 
cv.WaitKey(0)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python列表的切片與復(fù)制示例分析

    python列表的切片與復(fù)制示例分析

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python列表的切片與復(fù)制示例分析及相關(guān)代碼,有興趣點朋友們可以參考下。
    2021-10-10
  • Python讀取excel指定列生成指定sql腳本的方法

    Python讀取excel指定列生成指定sql腳本的方法

    今天小編就為大家分享一篇Python讀取excel指定列生成指定sql腳本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • pytorch逐元素比較tensor大小實例

    pytorch逐元素比較tensor大小實例

    今天小編就為大家分享一篇pytorch逐元素比較tensor大小實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Spyder中如何設(shè)置默認(rèn)python解釋器

    Spyder中如何設(shè)置默認(rèn)python解釋器

    Spyder作為一款流行的Python IDE,支持用戶自定義Python解釋器,包括虛擬環(huán)境的設(shè)置,通過打開Spyder,選擇“Tools”->“Preferences”,在彈出窗口中選擇“Use the following Python interpreter”后,瀏覽并選擇相應(yīng)的解釋器或虛擬環(huán)境路徑
    2024-09-09
  • python time.sleep()是睡眠線程還是進(jìn)程

    python time.sleep()是睡眠線程還是進(jìn)程

    這篇文章主要介紹了python time.sleep()是睡眠線程還是進(jìn)程,通過實例代碼給大家介紹了Python Sleep休眠函數(shù) ,需要的朋友可以參考下
    2019-07-07
  • python使用xlrd模塊讀寫Excel文件的方法

    python使用xlrd模塊讀寫Excel文件的方法

    這篇文章主要介紹了python使用xlrd模塊讀寫Excel文件的方法,較為詳細(xì)的分析了xlrd模塊的安裝、使用與操作Excel文件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python opencv實現(xiàn)運動檢測

    python opencv實現(xiàn)運動檢測

    這篇文章主要為大家詳細(xì)介紹了python opencv實現(xiàn)運動檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 在Python的Flask框架下使用sqlalchemy庫的簡單教程

    在Python的Flask框架下使用sqlalchemy庫的簡單教程

    這篇文章主要介紹了在Python的Flask框架下使用sqlalchemy庫的簡單教程,用來簡潔地連接與操作數(shù)據(jù)庫,需要的朋友可以參考下
    2015-04-04
  • Python中find函數(shù)的詳細(xì)使用方法

    Python中find函數(shù)的詳細(xì)使用方法

    在Python中find()函數(shù)用于檢測字符串中是否包含子字符串sub,如果指定start(開始)和end(結(jié)束)范圍,則檢查是否包含在指定范圍內(nèi),這篇文章主要給大家介紹了關(guān)于Python中find函數(shù)的詳細(xì)使用方法,需要的朋友可以參考下
    2023-05-05
  • Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)

    Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

太仓市| 宿松县| 丹凤县| 布尔津县| 平乡县| 响水县| 揭东县| 乌苏市| 民勤县| 噶尔县| 大英县| 顺昌县| 界首市| 财经| 永善县| 独山县| 平安县| 武陟县| 花莲县| 当阳市| 林西县| 大新县| 高雄市| 济阳县| 长子县| 得荣县| 宁武县| 芜湖市| 库车县| 长治县| 瑞金市| 当雄县| 长白| 杭锦后旗| 宜城市| 武鸣县| 岳池县| 渭源县| 灵武市| 长武县| 杂多县|