所有代码需要在安装了OpenCV库的Python环境中运行。
1 图像基础操作
import cv2 as cv
img = cv.imread("./img/run.png", flags=cv.IMREAD_COLOR)
print(img)
[[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 255]]
...
[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...
[255 255 255]
[255 255 255]
[255 255 254]]]
输出结果就是图片每个像素点的rgb值。
使用了OpenCV库中的cv2模块,读取"run.png"图像文件,并将其存储在变量img。然后,使用print函数输出了img变量的值,即图像数据。
cv.imread()函数用于读取图像文件:
- 第一个参数是图像文件的路径
- 第二个参数是读取图像的标志,这里使用了cv.IMREAD_COLOR标志,表示读取彩色图像
- 读取成功后,图像数据将被存储在img变量中,可使用cv.imshow()函数将图像显示
import cv2 as cv
# 读取图像时以灰度模式加载,即将图像转换为灰度图像
img = cv.imread("./img/run.png", flags=cv.IMREAD_GRAYSCALE)
# 创建一个名为"myImg"的窗口,并将读取的图像显示在该窗口中
# 第一个参数是窗口的名称,第二个参数是要显示的图像。
cv.imshow("myImg", img)
# 等待用户按下任意键。这个函数会暂停程序的执行,直到用户按下键盘上的任意键。
cv.waitKey(0)
# 关闭所有打开的窗口,释放内存资源。
cv.destroyAllWindows()
这段代码使用OpenCV库加载一张图像并显示在窗口中。 首先,通过import cv2 as cv语句导入了OpenCV库,并将其命名为cv,以便在后续代码中使用。 然后,通过cv.imread()函数读取了一张图像文件。
这段代码的作用是加载图像并在窗口中显示,以便用户查看图像。
import cv2 as cv
# img = cv.imread("./img/run.png", flags=cv.IMREAD_COLOR)
img = cv.imread("./img/run.png", flags=cv.IMREAD_GRAYSCALE)
# 第一个参数是图像文件的路径
# 第二个参数是读取图像的标志,使用cv.IMREAD_GRAYSCALE标志表示读取灰度图像
# 保存成功后,图像文件将被保存在指定的路径中
cv.imwrite('./img/bg.jpg', img)
2 修改像素与色彩
import cv2 as cv
import numpy
img = numpy.zeros((200, 200), numpy.uint8)
print(img)
print(type(img))
cv.imshow("img", img)
cv.waitKey(0)
cv.destroyAllWindows()
生产了一个小黑框:
划一道白线:
import cv2 as cv
import numpy
img = numpy.zeros((200, 200), numpy.uint8)
print(img)
print(type(img))
for i in range(200):
img[100][i] = 255
cv.imshow("img", img)
cv.waitKey(0)
cv.destroyAllWindows()
为已有图片加红线:
3 修改图像 Region of Interest 指定区域
import cv2 as cv
img = cv.imread("./img/run.png", flags=cv.IMREAD_COLOR)
roi = img[100:300, 100:300]
cv.imshow("img", roi)
cv.waitKey(0)
cv.destroyAllWindows()
这段代码使用了OpenCV库中的cv2模块,读取了一张名为"run.png"的彩色图像文件,并将其存储在变量img中。然后,使用切片操作将img变量中的图像数据按照[100:300, 100:300]的范围进行切片,即从第100行到第300行,第100列到第300列的区域。最后,使用cv.imshow()函数将切片后的图像数据显示出来。
具体来说,cv.imread()函数用于读取图像文件,第一个参数是图像文件的路径,第二个参数是读取图像的标志,这里使用了cv.IMREAD_COLOR标志表示读取彩色图像。读取成功后,图像数据将被存储在img变量中,可以使用cv.imshow()函数将图像显示出来。
cv.imshow()函数用于将图像数据显示出来,第一个参数是窗口的名称,第二个参数是要显示的图像数据。显示成功后,图像将被显示在指定的窗口中。
cv.waitKey()函数用于等待用户按下任意键,参数是等待的毫秒数,这里设置为0表示无限等待。cv.destroyAllWindows()函数用于关闭所有显示窗口。
需要注意的是,这段代码需要在安装了OpenCV库的Python环境中运行。
img = cv.imread("./img/run.png", flags=cv.IMREAD_COLOR)
img[100:300, 100:300] = [255, 255, 255]
cv.imshow("img", img)
这段代码使用了OpenCV库中的cv2模块,读取了一张名为"run.png"的彩色图像文件,并将其存储在变量img中。然后,使用切片操作将img变量中的图像数据按照[100:300, 100:300]的范围进行切片,即从第100行到第300行,第100列到第300列的区域。最后,使用赋值操作将切片后的图像数据赋值为白色,即将每个像素的RGB值都设置为255,然后使用cv.imshow()函数将修改后的图像数据显示出来。
具体来说,cv.imread()函数用于读取图像文件,第一个参数是图像文件的路径,第二个参数是读取图像的标志,这里使用了cv.IMREAD_COLOR标志表示读取彩色图像。读取成功后,图像数据将被存储在img变量中,可以使用cv.imshow()函数将图像显示出来。
cv.imshow()函数用于将图像数据显示出来,第一个参数是窗口的名称,第二个参数是要显示的图像数据。显示成功后,图像将被显示在指定的窗口中。
需要注意的是,使用赋值操作修改图像数据时,需要确保修改的是原图像数据的副本,而不是原始图像数据本身。在这里,可以使用切片操作来创建副本,然后对副本进行修改。
标签:读取,img,Python,库带,OpenCV,图像,100,cv,255 From: https://blog.51cto.com/JavaEdge/7178317