python中采用opencv作常规的图片处理的方法~~~

基于Python的OpenCV人脸检测 本文将要讲述的是Python环境下如何用OpenCV检测人脸,本文的主要内容分为: 1、检测图片中的人脸 2、实时检测视频中出现的人脸 3、用运设备的摄像头实时检测人脸 提前做的准备: 安装好Python3 下载安装OpenCV库,方法是pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com/pypi/simple 下载特征数据HAAR和LBP,这两种数 阅读详情

在python中,我们经常会需要对图片做灰度/二值化/模糊等处理,这时候opencv就是我们的好帮手了,下面我来介绍一下相关用法:

首先,需要安装opencv-python库:

然后,在你的代码中引用:

import cv2

最后就是代码了,这里列出上述几种常规图片处理的方法,为了方便取用我已经做成了函数:

def process_image(image_path, mode="灰度"):

    try:
        # 读取图片(灰度和二值化处理时,直接以灰度图像读入)
        image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE if mode != "高斯模糊" else cv2.IMREAD_COLOR)

        if image is None:
            return "抱歉,无法读取图片。请检查路径是否正确。"
        # endif

        # 根据模式处理图片
        if mode == "灰度":
            processed_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) if len(image.shape) == 3 else image        #如果是RGB图像才转换,否则直接返回原图像
            output_path = "processed_grayscale_image.jpg"
        elif mode == "二值化":
            _, processed_image = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
            output_path = "processed_binary_image.jpg"
        elif mode == "高斯模糊":
            processed_image = cv2.GaussianBlur(image, (15, 15), 0)
            output_path = "processed_blurred_image.jpg"
        else:
            return "抱歉,不支持该图片处理模式。"
        # endif

        # 保存处理后的图片
        cv2.imwrite(output_path, processed_image)
        return f"图片已处理并保存为 {output_path}。"

    except Exception as e:
        return f"抱歉,图片处理时出错了: {str(e)}"

    #end try

#end def

如果需要快速显示前面处理的结果,用下面的函数即可:

def show_image(image_path):

    try:
        # 读取图片
        image = cv2.imread(image_path)

        if image is None:
            return "抱歉,无法读取图片。请检查路径是否正确。"
        # endif

        # 显示图片
        cv2.imshow("Image", image)
        cv2.waitKey(0)
        cv2.destroyAllWindows()
        return "图片已显示。"

    except Exception as e:
        return f"抱歉,显示图片时出错了: {str(e)}"

    #end try

#end def

随取,不谢 ~~~

基于树莓派的openCv + Python的基础图片处理(一) 软件需求 我的树莓派3b,使用Python 2.7 版本 关于软件配置,之后的整理中我再补充 机器对图像处理 不同于win系统下的操作,我在linux系统下,将即将被电脑读入,并进行一系列操作的图片,单独建立一个文件夹。 顺便说一下 linux创建文件夹命令。 //打开桌面 cd Desktop // 创建一个名为Project的文件夹 mkdir Project 图片建议采用JPG格式 因为J... 阅读详情

相关推荐

基于Python Pillow与OpenCV构建本地化图片处理工具集

图像处理是计算机视觉与日常开发中的基础技术,其核心原理在于通过算法对像素数据进行操作,以实现尺寸调整、格式转换、压缩优化等目标。这项技术的价值在于能自动化、批量化地处理海量图像,显著提升工作效率,并保障数据隐私与安全。在应用场景上,它广泛服务于Web开发、内容管理、文档生成及个人数据整理等领域。针对开发者对隐私保护、功能集成与无附加限制的迫切需求,本文聚焦于利用Python生态中的Pillow和OpenCV库,构建一个功能集中、完全本地运行的命令行与Web界面工具集。该方案能有效解决在线工具常见的强制水印、

weixin_30915275的博客 372

opencv shape函数_每天一分钟,python一点通:opencv 图片处理方法

上期文章我们分享了opencv的图片基本处理方法,本期我们介绍另外几种opencv的图片处理方法抠图import cv2 image = cv2.imread("123.jpg") print(image.shape[:2]) cv2.imshow("init", image) cropped = image[200:470, 260:540] cv2.imshow("cropped", crop...

weixin_40001395的博客 1541

玩转Python图片处理(OpenCV)

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

m0_72557783的博客 1217

opencv图片处理

一、图片处理 目录一、图片处理读取图片与显示图片编辑与保存图片截图部分图片图片通道分离与合并颜色模式变换图片相加将图片保存到内存中(PIL) import cv2 # pip install opencv-python 仓库地址:https://github.com/opencv/opencv-python import matplotlib.pyplot as plt def to_plt_color(img): # 通过次函数将cv2 与 plt 颜色对应上 img_cp = i

qq_42250782的博客 3706

深入探究贝叶斯网络(Bayesian Network):从基础原理到实际应用

贝叶斯网络,也称为信念网络或有向无环图模型,是一种概率图模型。它使用有向无环图(DAG)来表示随机变量之间的条件依赖关系。每个节点代表一个随机变量,边表示变量之间的条件依赖关系。贝叶斯网络作为一种强大的工具,通过结合概率论和图论,为复杂系统建模和推理提供了有效手段。无论是在医学诊断、故障检测还是自然语言处理等领域,它都展示了巨大的潜力。然而,其计算复杂度高、结构学习困难等挑战也需要我们在实际应用中不断优化算法和技术。希望通过本文,你能对贝叶斯网络有更深入的理解,并能够在实际项目中灵活应用这一强大工具。

qq_28791753的博客 5966

DataEaseV2.9 本地开发环境搭建与调试指南

本文详细指导如何搭建DataEase V2.9的本地开发环境,涵盖从软件准备、源码获取、数据库初始化到在IDEA中配置、编译和调试的全过程。重点解决了本地运行环境的关键配置与常见问题,帮助开发者高效开启DataEase的定制化开发与二次开发。

weixin_29290863的博客 141

【python】opencv教程CV2模块——图片处理,裁剪缩放加边框

opencv教程CV2模块——图片处理,裁剪缩放加边框 import cv2 # 读取图片 img = cv2.imread('./imgg/1.jpeg') # 缩放成200x200的方形图像 img_200x200 = cv2.resize(img, (200, 200)) # 不直接指定缩放后大小,通过fx和fy指定缩放比例,0.5则长宽都为原来一半 # 等效于img_200x30...

HelenLee 2077

基于DSIFT多尺度图像融合的MATLAB代码

多尺度图像融合是一种常用的图像处理技术,它可以将具有不同尺度和空间频率特征的图像融合成一幅更具信息丰富度和视觉效果的图像。DSIFT算法是一种基于SIFT算法的改进版本,它在提取图像特征时采用了密集采样的方法,能够有效地提取图像的局部特征。多尺度图像融合基于DSIFT算法的思想,通过在不同尺度下提取图像的DSIFT特征,并将这些特征进行融合,得到最终的融合图像。然后,通过DSIFT算法提取了两幅图像的特征。通过运行上述代码,我们可以在MATLAB中实现基于DSIFT多尺度图像融合的算法,并观察到融合结果。

IELLQUI9的博客 180

【python】opencv教程CV2模块——图片处理,HSV、色调、亮度调节

opencv教程CV2模块——图片处理,HSV、色调、亮度调节 代码传送门: import cv2 img=cv2.imread('./imgg/1.jpeg', cv2.IMREAD_COLOR) # 打开文件 # 通过cv2.cvtColor把图像从BGR转换到HSV img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # H空间中,...

HelenLee 5436

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。召回:当用户以及内容量比较大的时候,往往先通过召回策略,将百万量级的内容先缩小到百量级。

丨汀、的博客 7590

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)

《C++面向对象程序设计》✍千处细节、万字总结 文章目录《C++面向对象程序设计》✍千处细节、万字总结一、面向对象程序设计二、C++基础2.1 C++的产生和特点2.2 一个简单的C++示例程序2.3 C++在非面向对象方面对C语言的扩充输入和输出cinconst修饰符void型指针内联函数带有默认参数值的函数函数重载作用域标识符"::"强制类型转换new和delete运算符引用三、类和对象(一)3.1 类的构成3.2 成员函数的定义3.3 对象的定义和使用3.4 构造函数与析构函数构造函数成员初始化列表

像写诗一样优雅地写代码~ 78万+

Opencv+Python实现医学图片处理

利用Opencv+python实现下图的处理 一、实验目的 原图 处理结果如下图 二、实现代码 import cv2 import numpy as np from skimage import morphology img1 = cv2.imread("F:\\vas1.bmp") cv2.imshow('img1',img1) #自适应阈值分割 gray= cv2.cvtColor(im...

九思的博客 3849

直流无刷电机FOC控制算法 理论到实践 —— 实践

关于直流无刷电机FOC控制算法的理论章节,本人已经在前两章进行过详细说明,大家可以自行进行阅读,请务必了解过理论之后再来学习如何具体进行实现。直流无刷电机FOC控制算法 理论到实践 —— 理论(一)直流无刷电机FOC控制算法 理论到实践 —— 理论(二)本章节主要讨论采用MCU微控制器如何具体实现直流无刷电机的FOC控制。

爱出名的狗腿子 1万+

Python图片处理实战:从Pillow基础到OpenCV批量处理与性能优化

图像处理是计算机视觉和数字内容管理的核心技术,其原理在于通过算法对像素矩阵进行操作,实现增强、分析和转换。这项技术的价值在于自动化处理海量视觉数据,提升效率并释放人力。在电商、社交媒体、内容平台等应用场景中,批量图片处理(如尺寸调整、水印添加、格式转换)是高频需求。本文聚焦于Python生态下的实战方案,详细解析了如何利用Pillow库进行基础操作(如裁剪、旋转、添加水印),并结合OpenCV实现更高级的图像滤波、边缘检测和轮廓分析。针对工程实践中的性能瓶颈,文章提供了包括并行处理在内的优化技巧,并整合成一

weixin_34242819的博客 423

【AutoSAR】【诊断栈】传输层CANTP

一、功能介绍 数据包发送放拆包分段发送 数据包接收方重组 流控 错误检测 二、参考协议 ISO 15765-2 三、数据帧格式 1、协议数据单元(PDU)格式 2、协议数据单元 - PCI格式 四、数据帧传输 1、单帧传输 CAN帧数据长度小于8字节(包括PCI信息) 无流控握手 PCI包含帧类型、数据长度和数据域 未使用字节填充 2、多帧传输 数据长度超过8字节 流控握手 定时控制 CAN帧类型包括: 首帧 流控帧 后继帧 3、多..

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 1553

HanLP的分词

HanLP的分词

sikh_0529的博客 1万+

opencv resize_每天一分钟,python一点通(opencv的图片处理方法)

有网友私信小编说,小编的文章很好,讲解的也很详细,但是有些知识点很深奥,对初学者不是很友好,回想小编的文章虽然几乎每条代码都有介绍,但是很多函数没有太详细,小编后期会重启《每天一分钟,python一点通》专栏,定期讲解小编文章中涉及到的小的问题点opencv加载图片opencv在我们进行图片或者视频目标检测时,使用最多的一个库,opencv的图片加载使用cv2.imread函数加载一个图片,传入的...

weixin_40008339的博客 245

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python_图片处理

cv2.erode() 方法用于腐蚀操作。它的第一个参数是要进行腐蚀操作的图像,第二个参数是腐蚀核,也称为结构元素。结构元素是一个矩阵,它定义了要应用于输入图像的腐蚀算法。第三个参数是迭代次数,表示要重复应用腐蚀算法的次数。cv2.imshow() 方法用于显示图像。它需要两个参数:窗口名称和要显示的图像。cv2.waitKey() 方法用于等待键盘输入。它等待指定的毫秒数,并在此期间等待用户按下某个键。如果用户按下了某个键,则返回该键的 ASCII 码值。否则,返回 -1。

挚友的博客 1192

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

OpenCV01-基础-图片处理

OpenCV01-基础-图片处理

感谢所有乐于奉献的人,在此不一一具名 833

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Opencv+python(一)图片处理

0.安装好Opencv pip install opencv-python 1.读入图片 1)cv2.imread("",显示控制参数,指定显示类型) 路径: 要加这个'\\' 显示控制参数: cv.IMREAD_UNCHANGED 不改变图片显示 cv.IMREAD_GRAYSCALE 图片的灰度显示 cv.IMREAD_COLOR 图片有颜色的显示 ...

eurus_的博客 335

使用python cv 图片处理

对图片处理,亮度、翻转、水印、噪声、图中图 # coding: utf-8 import cv2 import numpy as np import random import os import logging import time # from concurrent.futures import ThreadPoolExecutor, as_completed logging.basi...

wyBluewind的博客 3262

【python】opencv教程CV2模块——图片处理,剪切缩放旋转

opencv教程CV2模块——图片处理,剪切缩放旋转 import cv2 import numpy as np # 读取照片 img = cv2.imread('./imgg/1.jpeg') # 沿着横纵轴放大1.6倍,然后平移(-150,-240),最后沿原图大小截取,等效于裁剪并放大 M_crop_pic = np.array([ [1.6, 0, -150], [...

HelenLee 1027

python图片处理常用操作笔记

python图片处理常用操作笔记1. 静态图片操作笔记安装库导入库读写静态图片从磁盘读取图片将图片写入磁盘用cv2显示图片将彩色图转换为灰度图过滤图片中的噪点缩放图片的长宽图片截取颜色通道拆分与合并直方图均衡化图片翻转高维矩阵转置tensor中的用法,需要导入torch包。2. 动态图片操作笔记安装库导入库读取gif图片写出gif图片3. 一些简单功能实现笔记3.1 单色背景照片背景色替换3.2 为图片增加透明度图层并自定义透明度 萌新方便自己查询的笔记,记录一些常用的方法,不定时更新~ 1. 静态图片操作

starvapour的博客 5784

【python第三方库】opencv库常用方法和属性

参考链接: https://www.cnblogs.com/shizhengwen/p/8719062.html https://blog.youkuaiyun.com/Vici__/article/details/100714822 仅作记录学习~ 一、opencv总览 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLA

All_In_gzx_cc的博客 6326

OpenCV——图片处理细节

OpenCV中图片读取、显示、保存;彩色图像各个通道提取;用opencv将图片转成灰度图;批量图片转灰度图;顶帽变换、底帽变换;同态滤波;图片resize

qq_43436296的博客 5374
上一篇: python中C#类库调用+调试方法~~~
下一篇: python下比pygame启动更快的MP3播放方法~
happybasic
博客等级 码龄19年 122粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

happybasic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值