欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python OpenCV處理圖像之圖像像素點(diǎn)操作

 更新時(shí)間:2018年07月10日 15:11:46   作者:Leo  
這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之圖像像素點(diǎn)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Python OpenCV圖像像素點(diǎn)操作的具體代碼,供大家參考,具體內(nèi)容如下

0x01. 像素

有兩種直接操作圖片像素點(diǎn)的方法:

第一種辦法就是將一張圖片看成一個(gè)多維的list,例如對(duì)于一張圖片im,想要操作第四行第四列的像素點(diǎn)就直接 im[3,3] 就可以獲取到這個(gè)點(diǎn)的RGB值。

第二種就是使用 OpenCV 提供的 Get1D、 Get2D 等函數(shù)。

推薦使用第一種辦法吧,畢竟簡(jiǎn)單。

0x02. 獲取行和列像素

有一下四個(gè)函數(shù):

  • cv.GetCol(im, 0): 返回第一列的像素
  • cv GetCols(im, 0, 10): 返回前 10 列
  • cv.GetRow(im, 0): 返回第一行
  • cv.GetRows(im, 0, 10): 返回前 10 行

0x03. 批量處理

需要批量處理所有的像素點(diǎn)的時(shí)候,只需要使用for循環(huán)迭代處理就可以了:

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg")
 
for i in range(im.height):
 for j in range(im.width):
  im[i,j] # 這里可以處理每個(gè)像素點(diǎn)

還有一種迭代處理的方式是使用 LineIterator,不過(guò)在聲明 LineIterator 的時(shí)候需要制定處理像素點(diǎn)的開始點(diǎn)和結(jié)束點(diǎn)。

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg")
li = cv.InitLineIterator(im, (0, 0), (im.rows, im.cols)) #So loop the entire matrix
 
for (r, g, b) in li:
 # 這里可以對(duì)每個(gè)像素點(diǎn)的 r g b 進(jìn)行處理

娛樂(lè)一下, 隨機(jī)獲取 5000 個(gè)像素點(diǎn),然后把顏色換成一個(gè)隨機(jī)的值(salt):

import cv2.cv as cv
 
import random
 
# 這里也可以使用 Get2D/Set2D 來(lái)加載圖片
im = cv.LoadImage("img/lena.jpg") 
 
for k in range(5000): #Create 5000 noisy pixels
 i = random.randint(0,im.height-1)
 j = random.randint(0,im.width-1)
 color = (random.randrange(256),random.randrange(256),random.randrange(256))
 im[i,j] = color
 
cv.ShowImage("Noize", im)
cv.WaitKey(0)

效果圖:

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

相關(guān)文章

  • python模塊之StringIO使用示例

    python模塊之StringIO使用示例

    這篇文章主要介紹了python模塊之StringIO使用示例,本文直接給出示例代碼,需要的朋友可以參考下
    2015-04-04
  • 一文帶你掌握Python內(nèi)置reversed函數(shù)的使用

    一文帶你掌握Python內(nèi)置reversed函數(shù)的使用

    Python作為一門強(qiáng)大的編程語(yǔ)言,提供了許多內(nèi)置函數(shù)來(lái)處理各種數(shù)據(jù)結(jié)構(gòu)和對(duì)象,本文將詳細(xì)探討reversed函數(shù)的用法、示例代碼以及實(shí)際應(yīng)用場(chǎng)景,需要的可以參考下
    2024-01-01
  • Python的Pillow庫(kù)進(jìn)行圖像文件處理(圖文詳解)

    Python的Pillow庫(kù)進(jìn)行圖像文件處理(圖文詳解)

    本文詳解的講解了使用Pillow庫(kù)進(jìn)行圖片的簡(jiǎn)單處理,使用PyCharm開發(fā)Python的詳細(xì)過(guò)程和各種第三方庫(kù)的安裝與使用。感興趣的可以了解一下
    2021-11-11
  • Python模塊匯總(常用第三方庫(kù))

    Python模塊匯總(常用第三方庫(kù))

    計(jì)算機(jī)在開發(fā)過(guò)程中,代碼越寫越多,也就越難以維護(hù),所以為了編寫可維護(hù)的代碼,我們會(huì)把函數(shù)進(jìn)行分組,放在不同的文件里。在python里,一個(gè).py文件就是一個(gè)模塊
    2019-10-10
  • Python3實(shí)現(xiàn)購(gòu)物車功能

    Python3實(shí)現(xiàn)購(gòu)物車功能

    這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)購(gòu)物車功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 輕松理解Python 中的 descriptor

    輕松理解Python 中的 descriptor

    本文給大家分Python 中的 descriptor相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • Python列表list常用內(nèi)建函數(shù)實(shí)例小結(jié)

    Python列表list常用內(nèi)建函數(shù)實(shí)例小結(jié)

    這篇文章主要介紹了Python列表list常用內(nèi)建函數(shù),結(jié)合實(shí)例形式總結(jié)分析了Python列表list常見內(nèi)建函數(shù)的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Django 前后臺(tái)的數(shù)據(jù)傳遞的方法

    Django 前后臺(tái)的數(shù)據(jù)傳遞的方法

    本篇文章主要介紹了Django 前后臺(tái)的數(shù)據(jù)傳遞的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Python 抓取微信公眾號(hào)賬號(hào)信息的方法

    Python 抓取微信公眾號(hào)賬號(hào)信息的方法

    搜狗微信搜索提供兩種類型的關(guān)鍵詞搜索,一種是搜索公眾號(hào)文章內(nèi)容,另一種是直接搜索微信公眾號(hào)。這篇文章主要介紹了Python 抓取微信公眾號(hào)賬號(hào)信息,需要的朋友可以參考下
    2019-06-06
  • 利用Python繪制隨機(jī)游走圖的詳細(xì)過(guò)程

    利用Python繪制隨機(jī)游走圖的詳細(xì)過(guò)程

    隨機(jī)游走(random walk)也稱隨機(jī)漫步,隨機(jī)行走等,是以隨機(jī)的方式采取連續(xù)步驟的過(guò)程,下面這篇文章主要給大家介紹了關(guān)于利用Python繪制隨機(jī)游走圖的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02

最新評(píng)論