
python
程序员-最后的倔强
这个作者很懒,什么都没留下…
展开
-
Opencv python基础入门(8)---图片倾斜矫正
图片倾斜矫正 # -*- coding: UTF-8 -*- import numpy as np import cv2 import matplotlib.pyplot as plt import os import copy path = os.path.dirname(__file__) os.chdir(path) ## 图片旋转 def rotate_bound(image, angle): #获取宽高 (h, w) = image.shape[:2] (cX, c原创 2022-04-29 17:08:20 · 4541 阅读 · 0 评论 -
Opencv Python 综合练习1---读取银行卡卡号
import os import cv2 import numpy as np path = os.path.dirname(__file__) os.chdir(path) test_mode=1 #读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息 img = cv2.imread("yinghanka_2.jpg",cv2.IMREAD_GRAYSCALE) img=cv2.GaussianBlur(img,(3,3),cv2.THRESH_BINARY_INV) cv2.im原创 2022-04-28 16:22:36 · 3673 阅读 · 0 评论 -
Opencv python基础入门(7)---傅立叶变换
本文涉及傅立叶变换: 代码如下: #读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息 img = cv2.imread("colorCheck.jpg",cv2.IMREAD_GRAYSCALE) #傅里叶变化得到各个频率的复数结果并且把低频数据移到中间 f=np.fft.fft2(img) fshift=np.fft.fftshift(f) result=20*np.log(np.abs(fshift)) #高通滤波器,低频信息为比如草原图片中的草,高频数据为图像的边缘信息,如草原创 2022-04-06 09:39:29 · 178 阅读 · 0 评论 -
Opencv python基础入门(6)---直方图以及直方图均衡化
本文涉及图像直方图以及直方图均衡化: 代码如下: #读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息 img = cv2.imread("colorCheck.jpg",cv2.IMREAD_GRAYSCALE) #直方图均衡化,重点需要理解 img_eq=cv2.equalizeHist(img) #计算直方图,使用mask统计感兴趣区域的直方图,注意[img]需要加[], mask=np.zeros(img.shape,np.uint8) mask[200:500,200:50原创 2022-04-06 09:38:30 · 2890 阅读 · 0 评论 -
Opencv python基础入门(5)---图像金字塔
本文主要涉及图像金字塔 代码如下: #图像金字塔--向下采样 img_d1=cv2.pyrDown(img) #图像金字塔--向下采样 img_u1=cv2.pyrUp(img) #拉普拉斯金字塔 Li=Gi - up(down(Gi)), #up down 不可逆,会丢失图像信息 img_l0=img-cv2.pyrUp(img_d1) ...原创 2022-04-06 09:07:40 · 1779 阅读 · 0 评论 -
Opencv python基础入门(4)---sobel算子及边缘检测
本文主要介绍sobel算子及边缘检测: 代码如下: #sobel,ddepth如果设置为-1的话,水平处理只能取出左边界,右边界为负值丢失了,所以需要先用64F扩展然后用convertScaleAbs转换 #dx,dy都设置为1和使用addWeighted用法差别:addWeighted更细节 img2=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=1,dy=0,ksize=3) img3=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=0,dy=1,ks原创 2022-04-06 09:06:18 · 502 阅读 · 0 评论 -
Opencv python基础入门(3)---形态学变换
本文主要介绍形态学变换 代码如下: o1=np.zeros((3,3,3)) img[250:253,350:353]=o1 img[50:53,150:153]=o1 kernel=np.ones((3,3),np.uint8) #形态学变化-腐蚀,iterations代表腐蚀次数 img2=cv2.erode(img,kernel,iterations=10) #形态学变化-膨胀 img3=cv2.dilate(img,kernel,iterations=2) #开运算,腐蚀->膨胀 可以有原创 2022-04-06 09:05:05 · 2064 阅读 · 0 评论 -
Opencv python基础入门(2)---降噪
本文主要设计图像的降噪 代码如下: #阈值分割图像,共有6种模式,threshold返回值有2个,第一个是阈值,第2个是处理结果 ret,img2=cv2.threshold(img,127,255,cv2.THRESH_BINARY) #均值滤波 img2=cv2.blur(img,(3,3)) #方框滤波,比均值滤波多了归一化处理选择,不做归一化,容易图像过曝 img2=cv2.boxFilter(img,-1,ksize=(3,3),normalize=0) #高斯滤波,sigmX,控制X方向的原创 2022-04-06 09:04:03 · 2802 阅读 · 0 评论 -
Opencv python 基础入门(1)---图片读写以及像素操作
本文只要展示文件操作以及显示,像素操作 python 需要安装的模块: import cv2 import numpy as np 具体代码: import cv2 import numpy as np #读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息 img = cv2.imread("colorCheck.jpg") #shape函数返回图片信息,如果是灰度图片,那返回值只有行和列的元祖,否则,还会返回通道数 info=img.shape #提取指定通道的数据,b原创 2022-04-06 09:02:29 · 2347 阅读 · 0 评论