OpenCV-Python图像像素处理
简介图像都是由像素点构成的,图像分类:
1、二值图像(任意一个像素只能是0或1);
2、灰度图像(任意一个像素值都在0~255);
3、RGB图像(任意一个像素是(R,G,B)构成的),但是OpenCV是默认颜色通道是BGR.
图像都是由像素点构成的,图像分类:
1、二值图像(任意一个像素只能是0或1);
2、灰度图像(任意一个像素值都在0~255);
3、RGB图像(任意一个像素是(R,G,B)构成的),但是OpenCV是默认颜色通道是BGR.
这节主要介绍下如何处理图像的像素点.
一、灰度图像
示例:
# -*- coding: utf-8 -*-
# Data: 2023/7/2
import cv2
img = cv2.imread("./1-gray.jpg",cv2.IMREAD_UNCHANGED)
# 获取100行,100列像素点的值
print(img[100,100])
# 修改100行,100列像素点的值
img[100,100] = 255
print(img[100,100])
# 修改10行到100行,50列到100列像素点的值
img[10:100,50:100] = 255
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py
200
255
二、彩色图像
示例:
# -*- coding: utf-8 -*-
# Data: 2023/7/2
import cv2
img = cv2.imread("./1-1.jpg",cv2.IMREAD_UNCHANGED)
# 获取100行,100列像素点的值,有三个通道,依次是B、G、R
print(img[100,100])
# 按通道获取像素值
print(img[100,100,0])
print(img[100,100,1])
print(img[100,100,2])
# 修改100行,100列像素点的值
img[100,100] = [255,255,255]
print(img[100,100])
# 按通道设置
img[100,100,0] = 254
img[100,100,1] = 253
img[100,100,2] = 252
print(img[100,100])
# 修改10行到100行,50列到100列像素点的值
img[10:100,50:100] = [255,255,255]
# 按通道设置像素值
# img[10:100,50:100,0] = 255
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py
[184 199 208]
184
199
208
[255 255 255]
[254 253 252]
Process finished with exit code 0
除了以上获取和修改像素值的方法,还有另一种方法,就是item和itemset:
示例:
# -*- coding: utf-8 -*-
# Data: 2023/7/2
import cv2
img1 = cv2.imread("./1-1.jpg",cv2.IMREAD_UNCHANGED)
# 彩色图像获取像素值,需要指定通道
print(img1.item(500,500,0))
print(img1.item(500,500,1))
print(img1.item(500,500,2))
# 彩色图像修改像素值
img1.itemset((500,500,0),255)
img1.itemset((500,500,1),255)
img1.itemset((500,500,2),255)
print(img1.item(500,500,0))
print(img1.item(500,500,1))
print(img1.item(500,500,2))
img2 = cv2.imread("./1-gray.jpg",cv2.IMREAD_UNCHANGED)
# 灰度图像获取像素值
print(img2.item(500,500))
# 灰度图像修改像素值
img2.itemset((500,500),255)
print(img2.item(500,500))
运行效果
E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py
167
191
197
255
255
255
190
255
Process finished with exit code 0
Electron页面跳转、浏览器打开链接和打开新窗口
分割线是也是比较常用的组件,本文主要介绍下Divider和VerticalDiVider的使用方法。
《康熙王朝》是一部非常优秀的电视连续剧,陈道明演的康熙是我觉得最有帝王气魄,让人意犹未尽,本文主要记录一小段非常经典的对白。
Python调用WPS把文档转换PDF,并把PDF转图片,首先需要安装WPS,然后利用pypiwin32把文档转化成PDF,再利用fitz、PyMuPD把PDF转化成图片
快速生成表格
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。