Python OpenCV對圖像像素進(jìn)行操作
遍歷并修改圖像像素值
在使用opencv處理圖像時(shí),有時(shí)需要對圖像的每個(gè)像素點(diǎn)進(jìn)行處理,比如取反、修改值等操作,就需要通過h和w遍歷像素。
依然以下圖為例:

具體代碼:
import cv2 as cv
import numpy as np
def image_pixel(image_path: str):
img = cv.imread(image_path, cv.IMREAD_COLOR)
cv.imshow('input', img)
h, w, c = img.shape
# 遍歷像素點(diǎn),修改圖像b,g,r值
for row in range(h):
for col in range(w):
b, g, r = img[row, col]
# img[row, col] = (255 - b, 255 - g, 255 - r)
# img[row, col] = (255 - b, g, r)
# img[row, col] = (255 - b, g, 255 - r)
img[row, col] = (0, g, r)
cv.imshow('result', img)
cv.imwrite('images/result.jpg', img)
cv.waitKey(0)
cv.destroyAllWindows()
結(jié)果展示:

圖像的加減乘除運(yùn)算
圖像的加減運(yùn)算可以調(diào)整圖片的亮度和對比度。圖像的加減運(yùn)算可以調(diào)整圖像的亮度;圖像的乘除運(yùn)算可以調(diào)整圖像的對比度。
具體代碼:
# -*-coding:utf-8-*-
"""
File Name: image_pixel_operation.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2 as cv
import numpy as np
def math_pixel(image_path: str):
img = cv.imread(image_path, cv.IMREAD_COLOR)
cv.imshow('input', img)
h, w, c = img.shape
blank = np.zeros_like(img)
blank[:, :] = (2, 2, 2) # 所有像素值設(shè)為50
# 改變圖像亮度
mask = cv.add(img, blank) # 圖像加操作。圖像形狀一樣就可以相加,像素值類型不一樣不影響, 人為的增加了亮度
mask = cv.subtract(img, blank) # 圖像減操作。人為的降低了亮度
# 改變圖像對比度
# result = cv.divide(img, blank) # 圖像除操作
result = cv.multiply(img, blank) # 圖像乘操作
cv.imshow('blank', blank)
cv.imshow('mask', mask)
cv.imshow('contrast', result)
cv.waitKey(0)
cv.destroyAllWindows()
效果展示:

到此這篇關(guān)于Python OpenCV對圖像像素進(jìn)行操作的文章就介紹到這了,更多相關(guān)Python OpenCV圖像像素操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用Python將GIF動(dòng)圖分解成多張靜態(tài)圖片
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著如何用Python將GIF動(dòng)圖分解成多張靜態(tài)圖片展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
使用pyecharts生成Echarts網(wǎng)頁的實(shí)例
今天小編就為大家分享一篇使用pyecharts生成Echarts網(wǎng)頁的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python Websocket服務(wù)端通信的使用示例
這篇文章主要介紹了Python Websocket服務(wù)端通信的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

