Python OpenCV对图像像素进行操作
作者:Hong_Youth 时间:2021-02-25 13:02:20
遍历并修改图像像素值
在使用opencv处理图像时,有时需要对图像的每个像素点进行处理,比如取反、修改值等操作,就需要通过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
# 遍历像素点,修改图像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()
结果展示:
图像的加减乘除运算
图像的加减运算可以调整图片的亮度和对比度。图像的加减运算可以调整图像的亮度;图像的乘除运算可以调整图像的对比度。
具体代码:
# -*-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) # 所有像素值设为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()
效果展示:
来源:https://blog.51cto.com/u_15483653/4904096
标签:Python,OpenCV,像素
0
投稿
猜你喜欢
python去除空格和换行符的实现方法(推荐)
2021-08-26 02:58:13
YiiFramework入门知识点总结(图文教程)
2023-11-20 18:41:03
Python趣味实例,实现一个简单的抽奖刮刮卡
2023-07-20 18:59:41
Oracle 下的开发日积月累
2009-02-28 11:08:00
如何利用Python开发一个简单的猜数字游戏
2022-05-21 20:38:08
Python第三方库jieba库与中文分词全面详解
2022-03-14 22:32:40
图文详解感知机算法原理及Python实现
2022-03-07 23:56:34
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2021-09-14 00:22:11
Python wxpython模块响应鼠标拖动事件操作示例
2022-11-01 04:40:16
在PyCharm的 Terminal(终端)切换Python版本的方法
2021-10-31 08:37:07
Python实现直播推流效果
2023-10-06 12:43:29
利用Python复制文件的9种方法总结
2022-06-25 15:00:27
python实现批量监控网站
2023-07-22 20:41:08
Atom的python插件和常用插件说明
2022-11-29 00:46:08
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2022-02-27 23:20:03
用asp判断某IP是否属于某网段的另类算法
2007-09-28 12:33:00
如何利用Tensorflow2进行猫狗分类识别
2021-06-29 18:58:12
python逐行读取文件内容的三种方法
2023-01-05 14:07:30
检测tensorflow是否使用gpu进行计算的方式
2021-11-19 11:24:33
TensorFlow:将ckpt文件固化成pb文件教程
2021-01-24 11:33:45