首页 > 编程语言 >轻松掌握图像处理技能,Python OpenCV库带你飞

轻松掌握图像处理技能,Python OpenCV库带你飞

时间:2023-08-21 19:04:17浏览次数:53  
标签:读取 img Python 库带 OpenCV 图像 100 cv 255

所有代码需要在安装了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()

生产了一个小黑框:

轻松掌握图像处理技能,Python OpenCV库带你飞_OpenCV

划一道白线:

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()

轻松掌握图像处理技能,Python OpenCV库带你飞_OpenCV_02

为已有图片加红线:

轻松掌握图像处理技能,Python OpenCV库带你飞_数据_03

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

相关文章

  • Python学习日记 2023年8月21日
    importrequestsimportosimportrefromtimeimportsleepfrombs4importBeautifulSoupurl='http://www.netbian.com/mei/'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,like......
  • Linux系统之编译安装python3
    (Linux系统之编译安装python3)一、python3介绍1.python3简介Python3是一种高级编程语言,由GuidovanRossum于2008年发布。它是Python编程语言的最新版本,是Python2的升级版本。Python3提供了很多新的功能和改进,使得程序员可以更加快速、简便地编写高质量的代码。2.python......
  • 【8月摸鱼计划】python不支持的数据类型
    python不支持的数据类型是:char、byte类型。python支持的数据类型有:文本类型:str数值类型:int,float,complex序列类型:list,tuple,range映射类型:dict集合类型:set,frozenset布尔类型:bool二进制类型:bytes,bytearray,memoryview......
  • Python学习之半角转全角
    defstrB2Q(ustring):  rstring=""  forucharinustring:    inside_code=ord(uchar)    ifinside_code==32:      inside_code=12288    elif32<=inside_code<=126:      inside_code+=65248......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-12-playwright操作iframe-中篇
    1.简介按照计划今天就要用实际的例子进行iframe自动化测试。经过宏哥长时间的查找,终于找到了一个含有iframe的网页(QQ邮箱和163邮箱),别的邮箱宏哥就没有细看了。所以今天这一篇的主要内容就是用这两个网页的iframe结合上一篇的理论知识,宏哥给小伙伴或者童鞋们演示一下。2.QQ邮箱2......
  • python判断字符串是否包含子串的五种方法
    python判断字符串是否包含子串的五种方法一、用find()方法判断要判断某一个字符串是否包含某一个子串,方法之一是可以利用python内置的字符串方法find()来查找,如果查找到,就返回子串第一个字符在原字符串中的索引位置,如果找不到,则返回-1,实例代码如下:>>>string='笨鸟工具,x1y1z1......
  • Python为什么出现空值错误是?如何避免?
    与其他编程语言一样,Python也经常会遇到各种各样的错误,而其中比较常见的错误就是空值错误,也被称为NoneType错误,那么Python空值错误是什么意思?如何避免空值错误?具体请看下文。Python空值错误是什么?Python中的空值是指没有值的对象,称为None。None是一个特殊的数据类型,......
  • Python 常见文件操作
    Python常见文件操作Python常见的文件操作主要由os,shutil,pathlib等提供importosimportshutilimporttimefrompathlibimportPathdeftest_file():filename="test_file.txt"#判断文件是否存在ifos.path.exists(filename):#删除文......
  • 【Python】代理池针对ip拦截破解
    代理池是一种常见的反反爬虫技术,通过维护一组可用的代理服务器,来在被反爬虫限制的情况下,实现数据的爬取。但是,代理池本身也面临着被目标网站针对ip进行拦截的风险。本文将详细介绍代理池针对ip拦截破解的方法,包含相关代码实现:1.代理池的ip拦截问题代理池在实现反反爬虫的过程中......
  • Lnton羚通算法算力云平台如何在OpenCV-Python中使用cvui库创建复选框
    CVUI之复选框Pythonimportnumpyasnpimportcv2importcvuidefcheckbox_test():WINDOW_NAME='Checkbox-Test'checked=[False]#创建画布frame=np.zeros((300,400,3),np.uint8)#初始化窗口cvui.init(WINDOW_NAME)while......