import cv2
import matplotlib.pylab as plt
import numpy as np
img1 = cv2.imread('D:\\gudugudu\\Pictures\\weixin\\xiaotidaya.jpg', cv2.IMREAD_ANYCOLOR)
img2 = cv2.imread('D:\\gudugudu\\Pictures\\weixin\\guoqing.jpg', cv2.IMREAD_GRAYSCALE)
img3 = cv2.imread('D:\\gudugudu\\Pictures\\weixin\\zhaoyang.jpg', cv2.IMREAD_GRAYSCALE)
img_x = cv2.resize(img1, (500, 500))
img_y = cv2.resize(img2, (500, 500))
img_z = cv2.resize(img3, (500, 500))
vc = cv2.VideoCapture("D:\\gudugudu\\Pictures\\weixin\\WeChat_20240706150425.mp4")
#canny边缘检测
'''
1.使用高斯滤波器,平滑图像,消除噪音
2.计算每个像素点的梯度强度和方向
3.应用非极大值抑制,消除边缘检测带来的影响
4.应用双阈值来检测真实的边缘和潜在的边缘
5.通过抑制孤立的弱边缘来达到最终的边缘检测
'''
def canny(img):
v1 = cv2.Canny(img, 20, 30)
cv2.imshow('name', v1)
cv2.waitKey(0)
cv2.destroyAllWindows()
'''
图像金字塔
1.高斯金字塔
2.拉普拉斯金字塔
作用:
图像的提取;对每一层进行提取
'''
'''
高斯金字塔: 从下向上采样:
(缩小操作)向下采样的方法;
高斯核去做,将所有偶数行与偶数列去掉
从上向下采样:
将图像扩大两倍,新增的行与列用0代替
'''
def Pyrup(img): #向上采样
up = cv2.pyrUp(img)
cv2.imshow('gudu', up)
cv2.waitKey(0)
cv2.destroyAllWindows()
def Pyrdown(img): #向下采样
down = cv2.pyrDown(img)
cv2.imshow('gudu', down)
cv2.waitKey(0)
cv2.destroyAllWindows()
def Pyrup_down(img):#反复执行会变模糊
up = cv2.pyrUp(img)
updown = cv2.pyrDown(up)
cv2.imshow('gudu', np.hstack((img, updown)))
cv2.waitKey(0)
cv2.destroyAllWindows()
def lapulasi(img):#拉普拉斯金字塔
up = cv2.pyrUp(img)
updown = cv2.pyrDown(up)
l_l = img - updown
cv2.imshow('gudu', l_l)
cv2.waitKey(0)
cv2.destroyAllWindows()
opencv_day7
咕噜咕嘟嘟嘟2024-08-05 23:41
相关推荐
不是很强 但是很秃16 分钟前
秃姐学AI系列之:实战Kaggle比赛:狗的品种识别(ImageNet Dogs)我是瓦力32 分钟前
PointNet++改进策略 :模块改进 | EdgeConv | DGCNN, 动态图卷积在3d任务上应用MYVision_ MY视界3 小时前
OpenCV 4.10 windows 上编译并上传conanmirror_zAI3 小时前
[OpenCV] 数字图像处理 C++ 学习——15像素重映射(cv::remap) 附完整代码hola1738414395 小时前
opencv之Canny边缘检测白茶等风121385 小时前
OpenCV_图像像素读写操作jndingxin12 小时前
OpenCV结构分析与形状描述符(20)计算一个包围给定点集的最小外接圆函数minEnclosingCircle()的使用视觉人机器视觉13 小时前
更新20240915机器视觉海康Visionmaster学习步骤wydxry14 小时前
目标检测-小目标检测方法翟天保Steven16 小时前
CUDA-中值滤波算法