前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python3+OpenCV】实现图像处理—基本操作篇

【Python3+OpenCV】实现图像处理—基本操作篇

作者头像
潘永斌
发布2020-04-27 10:33:00
1.1K0
发布2020-04-27 10:33:00
举报
文章被收录于专栏:看那个码农

OpenCV是一个C++库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题,它涵盖了很多计算机视觉领域的模块。在Python中常使用OpenCV库实现图像处理。

本文将介绍如何在Python3中使用OpenCV实现对图像处理的基础操作:

读入图像,显示图像,复制图像,保存图像

电脑环境准备

Python版本:

Python3.7

OpenCV版本:

OpenCV4.1

No.1

读入图像

Opencv中使用函数cv2.imread(filepath,flags)读入一张图像,该函数中各参数的说明如下:

filepath:读入图片的完整路径

flags:读入图片的标志

cv2.IMREAD_COLOR:默认参数,读入彩色图片,忽略alpha通道,可以以1指定

cv2.IMREAD_GRAYSCALE:读入灰度图片,可以以0指定

cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道

代码语言:javascript
复制
import cv2
#1的话读取全彩图片 0读取灰度图片即黑白图片
img = cv2.imread('hello.jpg', 1)
img1 = cv2.imread('hello.jpg', 0)

No.2

显示图像

Opencv中使用函数cv2.imshow(name,img)显示图像,该函数中各参数的说明如下:

name:显示图像的窗口名字

img: 是即将要显示的图像(imread读入的图像),窗口大小自动调整为图片大小

需要注意的是显示图片的时候要让程序暂停,否则图片会一闪而过,用户就不会观察到图片。

因此需要用到:

cv2.waitKey(0)

代码语言:javascript
复制
import cv2
img = cv2.imread('hello.jpg',1)

#通过窗口展示图片 第一个参数为窗口名 第二个为读取的图片变量
cv2.imshow('image',img)

#暂停cv2模块 不然图片窗口一瞬间即就会消失 观察不到
cv2.waitKey(0)

运行程序后,显示如下:

若此处将img = cv2.imread('hello.jpg',1)改为

img = cv2.imread('hello.jpg',0)

运行程序后,显示如下:

No.3

复制图像

Opencv中如果想要将目前的图像复制,可以使用以下语句实现:

img1 = img.copy():img1是新图像,img是原图像

代码语言:javascript
复制
import cv2
img = cv2.imread('hello.jpg',0)

img1=img.copy()

#通过窗口展示图片 第一个参数为窗口名 第二个为读取的图片变量
cv2.imshow('image',img1)

#暂停cv2模块 不然图片窗口一瞬间即就会消失 观察不到
cv2.waitKey(0)

运行程序后,显示如下:

No.4

保存图像

Opencv中使用函数imwrite("path",image)存储图像,该函数中各参数的说明如下:

path:保存图片的路径(自定义名称)

image:读取的图片对象

代码语言:javascript
复制
import cv2
img = cv2.imread('hello.jpg',0)

#通过窗口展示图片 第一个参数为窗口名 第二个为读取的图片变量
cv2.imshow('image',img)

cv2.imwrite('D:\Pycharm\Demo1\opencv\hello.jpg', img)

#暂停cv2模块 不然图片窗口一瞬间即就会消失,观察不到
cv2.waitKey(0)

运行程序后,显示如下:

设置储存的文件,也储存在了指定目录下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 看那个码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档