- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 OpenCV-Python读写中文路径图片的解决方法
OpenCV-Python读写中文路径图片的解决方法1、常规写法:import cv2# 图片读取image = cv2.imread('D:/demo.bmp', cv2.IMREAD_UNCHANGED)# 图片写入cv2.imwrite('D:/demo_save.bmp', image)2、当路径含有中文时,会出现错误。解决办法如下:import numpy as npimport cv2# 图片读取image = cv2.imdecode(np.fr.
2021-05-20 11:24:29
524
原创 PyCharm安装成功后打不开,解决方法
最近在公司换了台新的电脑,在官网下载PyCharm社区版安装完成后,双击桌面图标,发现软件一直在加载页面打不开,在任务管理器里面查看了下,PyCharm在后台进程中运行而不是前台。双击pycharm.bat弹出一个控制台窗口后,pycharm软件也随之打开,但如果不小心关闭了控制台窗口,pycharm也就关了,非常不方便。因此,想着怎样解决这个问题。网上看到教程说卸载软件、删除注册表,再重装,等等办法,也没有解决。而且需要说明的是,我这个电脑是全新的,以前没有装过PyCharm,也没有装汉化、破解工
2020-09-07 15:41:26
16361
6
翻译 OpenCV-Python学习笔记(十八):使用 GrabCut 算法进行交互式前景提取
Interactive Foreground Extraction using GrabCut Algorithm:目标在本节中我们将要学习:• GrabCut 算法原理,使用 GrabCut 算法提取图像的前景• 创建一个交互是程序完成前景提取原理GrabCut 算法是由微软剑桥研究院的 Carsten_Rother, Vladimir_Kolmogorov和 Andrew_B...
2019-06-26 11:22:47
2238
翻译 OpenCV-Python学习笔记(十七):分水岭算法图像分割
分水岭算法图像分割(Image Segmentation with Watershed Algorithm)目标本节我们将要学习• 使用基于掩模的分水岭算法进行图像分割• 函数:cv2.connectedComponents()、cv2.watershed()1. 原理任何一副灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。我们向每...
2019-06-25 22:11:39
3167
翻译 OpenCV-Python学习笔记(十六):Hough直线变换、Hough圆变换
一、Hough 直线变换(Hough Line Transform )目标• 理解霍夫变换的概念• 学习如何在一张图片中检测直线• 学习函数: cv2.HoughLines(), cv2.HoughLinesP()原理霍夫变换在检测各种形状的的技术中非常流行,如果你要检测的形状可以用数学表达式写出,你就可以是使用霍夫变换检测它,即使检测的形状存在一点破坏或者扭曲也可以使用。我们下面...
2019-06-25 17:15:02
1633
翻译 OpenCV-Python学习笔记(十五):模板匹配(Template Matching)
目标在本节我们要学习:1. 使用模板匹配在一幅图像中查找目标2. 函数: cv2.matchTemplate(), cv2.minMaxLoc()原理模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。 OpenCV 为我们提供了函数: cv2.matchTemplate()。和 2D 卷积一样,它也是用模板图像在输入图像(大图)上滑动,并在每一个位置对模板图像和与其对应的输入图像的子...
2019-06-20 21:43:01
3823
翻译 OpenCV-Python学习笔记(十四):图像变换:傅里叶变换与反变换
OpenCV-Python官方文档关于图像傅里叶变换和反变换的教程网址:https://docs.opencv.org/4.1.0/de/dbc/tutorial_py_fourier_transform.html目标我们将要学习:• 使用 OpenCV 对图像进行傅里叶变换(DFT):cv2.dft(),cv2.idft()• 使用 Numpy 中 FFT(快速傅里叶变换)函数:...
2019-06-19 21:48:39
9993
1
翻译 OpenCV-Python学习笔记(十三):直方图的计算绘制与分析、直方图均衡化、2D直方图、直方图反向投影
1 直方图的计算,绘制与分析目标:• 使用 OpenCV 或 Numpy 函数计算直方图• 使用 Opencv 或者 Matplotlib 函数绘制直方图• 将要学习的函数有: cv2.calcHist( ), np.histogram( )通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值(0 到 255), y 轴是图片中具有同一个灰度值的点的数...
2019-06-18 20:31:53
1445
翻译 OpenCV-Python学习笔记(十二):OpenCV中的轮廓:找轮廓、绘制轮廓、轮廓特征、轮廓的性质、轮廓的层次结构
1 初识轮廓目标• 理解什么是轮廓• 学习找轮廓,绘制轮廓等• 函数: cv2.findContours(), cv2.drawContours()1.1 什么是轮廓轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。• 为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边...
2019-06-17 17:16:47
3801
翻译 OpenCV-Python学习笔记(十一):图像梯度与边缘检测:Sobel、Scharr、Laplacian、Canny算子
图像梯度:目标• 图像梯度,图像边界等• 使用到的函数有: cv2.Sobel(), cv2.Schar(), cv2.Laplacian() 等原理梯度简单来说就是求导。OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器: Sobel,Scharr 和 Laplacian。Sobel, Scharr 其实就是求一阶或二阶导数。 Scharr 是对 Sobel(使用小的卷积核求...
2019-06-15 21:51:26
1295
翻译 OpenCV-Python学习笔记(十):形态学图像处理:腐蚀、膨胀、开运算、闭运算、形态学梯度、顶帽、黑帽
目标• 学习不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算、形态学梯度、顶帽、黑帽• 我们要学习的函数有:cv2.erode(), cv2.dilate(), cv2.morphologyEx()等原理形态学操作一般情况下对二值化图像进行的操作。需要输入两个参数,一个是原始图像,第二个被称为结构化元素或称为核,它是用来决定操作的性质的。两个基本的形态学操作是腐蚀和膨胀。他们的变体构成了开...
2019-06-14 16:42:19
1325
原创 OpenCV-Python学习笔记(九):图像平滑:均值/高斯/中值/双边滤波
目标• 学习使用不同的低通滤波器对图像进行模糊• 使用自定义的滤波器对图像进行卷积(2D 卷积)2D 卷积与一维信号一样,我们也可以对 2D 图像实施低通滤波(LPF),高通滤波(HPF)等。 LPF 帮助我们去除噪音,模糊图像。 HPF 帮助我们找到图像的边缘。OpenCV 提供的函数 cv2.filter2D() 可以让我们对一幅图像进行卷积操作。下面我们将对一幅图像使用平均滤...
2019-06-13 21:33:52
2391
原创 OpenCV-Python学习笔记(八):图像阈值:简单阈值、自适应阈值、 Otsu's阈值
目标• 本节你将学到简单阈值,自适应阈值, Otsu’s 二值化等• 将要学习的函数有 cv2.threshold, cv2.adaptiveThreshold 等。1.简单阈值与名字一样,这种方法非常简单。在像素值高于阈值时,我们给这个像素赋予一个新值(可能是白色),否则我们给它赋予另外一种颜色(也许是黑色)。这个函数就是 cv2.threshhold(src, thresh, ma...
2019-06-13 17:43:27
2846
原创 OpenCV-Python学习笔记(七):几何变换:缩放、平移、旋转、仿射变换、透射变换
目标• 学习对图像进行各种变换,例如缩放、平移、旋转、仿射变换、透射变换。• 将要学到的函数有: cv2.getPerspectiveTransform()变换OpenCV 提供了两个变换函数, cv2.warpAffine() 和 cv2.warpPerspective(),使用这两个函数你可以实现所有类型的变换。cv2.warpAffine() 接收的参数是2 × 3 的变换矩阵,...
2019-06-13 16:17:26
1695
原创 OpenCV-Python学习笔记(六):颜色空间转换(Changing Colorspaces)
OpenCV 图像处理之颜色空间转换目标• 你将学习如何对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等。• 我没还要创建一个程序用来从一幅图像中获取某个特定颜色的物体。• 我们将要学习的函数有: cv2.cvtColor(), cv2.inRange() 等。1.转换颜色空间在 OpenCV 中有超过 150 种进行颜色空间转换的方法。但是我们经常...
2019-06-12 17:20:55
782
转载 OpenCV-Python学习笔记(五):程序性能检测及优化
在图像处理中每秒钟都要做大量的运算,所以你的程序不仅要能给出正确的结果,同时还必须要快。所以这节将要学习:• 检测程序的效率• 一些能够提高程序效率的技巧1.使用 OpenCV 检测程序效率cv2.getTickCount() 函数返回从参考点到这个函数被执行的时钟数。所以当你在一个函数执行前后都调用它的话,你就会得到这个函数的执行时钟数。cv2.getTickFrequency(...
2019-06-11 21:56:21
625
转载 OpenCV-Python学习笔记(四):图像上的算术运算:图像加法、图像混合、按位运算
1.图像加法可以使用函数 cv2.add() 将两幅图像进行加法运算,两幅图像的大小,类型必须一致。(注意: OpenCV 中的加法与 Numpy 的加法是有所不同的。OpenCV 的加法是一种饱和操作,而 Numpy 的加法是一种模操作。r如下所示。推荐使用 OpenCV 中的函数)import cv2import numpy as npx = np.uint8([250])...
2019-06-11 20:52:07
1262
转载 OpenCV-Python学习笔记(三):图像的基础操作:获取像素值并修改、获取图像信息、ROI、通道拆分与合并、边界填充
1.获取并修改像素值首先我们需要读入一幅图像,可以根据像素的行和列的坐标获取他的像素值。对 BGR 图像而言,返回值为 B,G,R 的值。对灰度图像而言,会返回他的灰度值(亮度 intensity):import cv2import numpy as npimg = cv2.imread('D:/opencv/images/roi.jpg')# 获取像素值px = img[10...
2019-06-11 20:09:01
7030
原创 OpenCV-Python学习笔记(二):本地/摄像头视频读取、处理、写入磁盘
下面代码使用OpenCV-Python版,实现本地/摄像头视频读取、处理和写入磁盘。# -*- coding: utf-8 -*-import cv2# 打开笔记本自带摄像头拍摄视频# cap = cv2.VideoCapture(0)# 读取本地视频videoFilePath = 'D:\Video_example.mp4'capture = cv2.VideoCaptu...
2019-06-11 16:28:00
1437
原创 OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式
使用OpenCV-Python实现图像读入、显示与保存:# -*- coding: utf-8 -*-import cv2from matplotlib import pyplot as plt# # 第二个参数,0为灰度模式显示,1为彩色图像,默认值为1# img0 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', 0)# img1 =...
2019-06-11 13:44:42
6435
原创 OpenCV4学习笔记(二):读取本地/摄像头视频,并将彩色视频转换为对数极坐标视频(视频处理)
读取本地视频或者摄像头采集的视频,并将彩色视频转换为对数极坐标视频(视频处理),保存处理后的视频。#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char* argv[]) { cv::String inputFileName = "D:\\Code files\\Vide...
2019-06-10 21:57:30
851
原创 OpenCV4学习笔记(一):图像读取显示;灰度化、高斯模糊、降采样;读、写某处像素值
最近开始学习OpenCV,记录一下学习笔记,便于复习巩固。本代码的功能、作用: 1.读取并显示图像; 2.对rgb图像进行灰度化、高斯模糊、降采样处理 3.读、写某处的像素值#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(i...
2019-06-10 15:04:16
1408
原创 Python将字典写入csv文件时出现每隔一行会空一行问题的解决办法
在Python中,用csv库将字典写入csv文件时,常出现每隔一行就有一空白行的问题,解决办法如下代码所示:with open('mydata.csv', 'a', encoding='GBK', newline="") as csvfile:即:在open()函数中添加newline参数,并且值为空,即添加 newline="" 如此便可解决上述问题。另外:当存入csv文件的数...
2019-01-15 16:20:42
3189
2
转载 【转载】Python读写csv文件时中文乱码问题的解决办法
原文链接:https://www.cnblogs.com/shengulong/p/7097869.html感谢原作者!!!CSV是英文Comma Separate Values(逗号分隔值)的缩写,顾名思义,文档的内容是由 “,” 分隔的一列列的数据构成的,可以使用excel和文本编辑器等打开。CSV文档是一种编辑方便,可视化效果极佳的数据存储方式1、python读写、追加csv方法...
2019-01-15 14:08:23
7345
《数字图像处理与机器视觉:Visual C++与Matlab实现》(第2版)(作者:张铮)—高清带书签
2018-12-25
学习Python3经典入门书籍:《Python编程:从入门到实践》(中文版)_高清_带书签
2018-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人