# -*- coding:utf-8 -*- import cv2 import numpy as np import sys img = cv2.imread('test.jpg') # cv2.imshow("original", img) # 可选,扩展图像,保证内容不超出可视范围 img = cv2.copyMakeBorder(img, 200, 200, 200, 200, cv2.BORDER_CONSTANT, 0) w, h = img.shape[0:2] angl…
pip install matplotlib 1简单的阈值化 cv2.threshold第一个参数是源图像,它应该是灰度图像. 第二个参数是用于对像素值进行分类的阈值, 第三个参数是maxVal,它表示如果像素值大于(有时小于)阈值则要给出的值. OpenCV提供不同类型的阈值,它由函数的第四个参数决定. 不同的类型是: cv2.THRESH_BINARY 如果 src(x,y)>threshold ,dst(x,y) = max_value; 否则,dst(x,y)=0 cv.THRESH_B…
__author__ = "WSX" import cv2 as cv import numpy as np # 高斯金字塔 #金字塔 原理 ==> 高斯模糊+ 降采样 #金字塔 原理 ==>扩大+ 卷积 #降采样 取图像的 偶数行偶数裂 生成的图 def jinzita( level ,img ): temp = img.copy() level = level pyr_img = [] for i in range(level): dst = cv.pyrDown( t…
__author__ = "WSX" import cv2 as cv import numpy as np #-----------二值化(黑0和白 255)------------- #二值化的方法(全局阈值 局部阈值(自适应阈值)) # OTSU #cv.THRESH_BINARY 二值化 #cv.THRESH_BINARY_INV(黑白调换) #cv.THRES_TRUNC 截断 def threshold(img): #全局阈值 gray = cv.cvtColor(img…
__author__ = "WSX" import cv2 as cv import numpy as np from matplotlib import pyplot as plt def plot( img): plt.hist(img.ravel() , 256 ,[0 ,256]) print(img.ravel()) #统计频次 plt.show() def hist( img ):#反应图像的主要特征 color = ("blue" ,"gre…
__author__ = "WSX" import cv2 as cv # 这里的文件是图片或者视频 def Save_File( image ): cv.imwrite("1.png", image) #保存 def get_image_info( image ): #获取图像属性 print(""" 图像的高宽通道:%s 图像的大小:%s 图像的位数:%s 图像类别:%s """ %(image.sha…
import cv2 img = cv2.imread('E:\\usb_test\\example\\yolov3\\rknn_emotion\\test_images\\llj5.jpg') font = cv2.FONT_HERSHEY_SIMPLEX imgzi = cv2.putText(img, ', (50, 300), font, 1.2, (255, 255, 0), 2) cv2.imshow('',img) cv2.waitKey() cv2.destroyAllWindo…
__author__ = "WSX" import cv2 as cv import numpy as np def lapalian_demo(image): #拉普拉斯算子 #dst = cv.Laplacian(image, cv.CV_32F) #内置函数来实现 #lpls = cv.convertScaleAbs(dst) kernel = np.array([[1, 1, 1], [1, -8, 1], [1, 1, 1]]) #自定义来实现 dst = cv.filter…
__author__ = "WSX" import cv2 as cv import numpy as np image = cv.imread("1.JPG") #获取图 image_height = image.shape[0] image_width = image.shape[1] image_channel = image.shape[2] # for i in range(image_height): #访问 每一个像素 # for j in range…
1. sift.detectAndComputer(gray, None)  # 计算出图像的关键点和sift特征向量 参数说明:gray表示输入的图片 2.cv2.findHomography(kpA, kpB, cv2.RANSAC, reproThresh) # 计算出单应性矩阵 参数说明:kpA表示图像A关键点的坐标, kpB图像B关键点的坐标, 使用随机抽样一致性算法来进行迭代,reproThresh表示每次抽取样本的个数 3.cv2.warpPespective(imageA, H,…