
计算机视觉
zhangphil
zhangphil@live.com
展开
-
OpenCV方向梯度直方图HOG视频中运动人体检测,Python
OpenCV方向梯度直方图HOG视频中运动人体检测,Python假设需要把一段视频中的处于运动(活动)的人体检测出来并用框将人框起来:from imutils.object_detection import non_max_suppressionimport numpy as npimport imutilsimport cv2hog = cv2.HOGDescriptor()hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDe原创 2020-06-17 23:51:33 · 1241 阅读 · 2 评论 -
OpenCV图像二值化,Python
OpenCV图像二值化,Python原图:二值化处理:import cv2if __name__=="__main__": image = cv2.imread("pic.jpg") gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #超过阈值thresh,值为255,未超过为0。 ret1, p1 = cv2.threshold(src=gray, thresh=127, maxval=255, ty.原创 2020-06-15 23:02:23 · 1269 阅读 · 0 评论 -
OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python
OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python假设现在有一张九宫格图片:需要把图中的1到9数组用金黄色颜色描点填充。import cv2import numpy as npif __name__=="__main__": img = cv2.imread("pic.jpg") hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 色彩空间转换为hsv,分离. #色相(H)是色彩的基本属性,原创 2020-06-09 00:55:26 · 16644 阅读 · 1 评论 -
RGB颜色值转换为HSV色域分量值,Python
def rgb2hsv(r, g, b): r, g, b = r/255.0, g/255.0, b/255.0 mx = max(r, g, b) mn = min(r, g, b) m = mx-mn if mx == mn: h = 0 elif mx == r: if g >= b: h = ((g-b)/m)*60 else: h = ((g-b.原创 2020-06-12 08:04:24 · 2147 阅读 · 2 评论 -
Python视频添加水印
假设现在有一个源视频文件test.mp4,把watermark.jpg作为水印图片logo加入到视频test.mp4中,最终生成添加水印后的result.mp4文件:import moviepy.editor as mpif __name__ == "__main__": video = mp.VideoFileClip("test.mp4") logo = (mp.ImageClip("watermark.jpg") .set_duration(vi.原创 2020-06-06 01:49:58 · 4954 阅读 · 0 评论 -
OpenCV对视频录像按照间隔切割抽取图片帧,Python
#OpenCV对视频录像按照间隔切割抽取图片帧,Pythonimport cv2import osif __name__ == "__main__": vc = cv2.VideoCapture('test.mp4') if vc.isOpened(): # 是否正常打开 print("打开ok") else: print("打开失败,程序退出") exit(-1) savedpath = 'image/' .原创 2020-06-05 07:53:25 · 1185 阅读 · 0 评论 -
OpenCV读取视频录像分解抽帧,Python
import cv2import osif __name__ == "__main__": vc = cv2.VideoCapture('test.mp4') if vc.isOpened(): # 是否正常打开 print("打开ok") else: print("打开失败,程序退出") exit(-1) savedpath = 'image/' isExists = os.path.exists(sav.原创 2020-06-03 23:11:28 · 1217 阅读 · 0 评论 -
OpenCV HSV色域空间转换,Python
假设有一张九宫格图片:需要忽略里面的1到9数字,仅仅把框架提取出来,那么就需要用到HSV色域空间转换:import numpy as npimport cv2if __name__ == "__main__": img = cv2.imread("p.jpg") hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 色彩空间转换为hsv,分离. low = np.array([0, 100, 100]) high =原创 2020-06-03 01:40:45 · 1978 阅读 · 0 评论 -
OpenCV霍夫变换检测圆形,Python
假设现在把图中的足球圆形轮廓检测出来,并用红线标记:python代码:import cv2import numpy as npif __name__ == "__main__": original_img = cv2.imread("c.jpg") gray = cv2.cvtColor(original_img, cv2.COLOR_BGR2GRAY) blur_img = cv2.GaussianBlur(gray, (3, 3), 0) ci.原创 2020-06-02 07:50:55 · 2667 阅读 · 0 评论 -
OpenCV霍夫变换直线检测,Python
假设需要把图片中的直线检测出来并用红线标记:import cv2import numpy as npif __name__ == "__main__": original_img = cv2.imread("p.jpg") gray = cv2.cvtColor(original_img, cv2.COLOR_BGR2GRAY) blur_img = cv2.GaussianBlur(gray, (3, 3), 0) edges = cv2.Canny(b原创 2020-06-01 00:53:08 · 2307 阅读 · 0 评论 -
OpenCV Canny边缘轮廓检测,Python
假设一张这样的图片:检测边缘轮廓:# OpenCV Canny边缘轮廓检测,Pythonimport cv2if __name__ == "__main__": img = cv2.imread("pic.jpg") # 高斯模糊 gaussian_img = cv2.GaussianBlur(img, (3, 3), 0) result = cv2.Canny(gaussian_img, 200, 480) cv2.imwrite("canny原创 2020-05-20 23:46:30 · 1618 阅读 · 0 评论 -
OpenCV图像相似度检测,Python实现
OpenCV图像相似度检测,简单的说是大图中找小图。假设把大图中的一部分图Android小机器人检测出来并用红色的线框出来。# OpenCV图像相似度检测matchTemplate,Python实现import cv2 as cvif __name__ == "__main__": # 先把图片灰度处理。 img = cv.imread('pic.jpg') img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRA.原创 2020-05-20 08:20:35 · 3325 阅读 · 0 评论 -
Python裁剪截取图片两种方案:OpenCV与Pillow
Python裁剪截取图片两种方案:OpenCV与Pillow# Python裁剪截取图片两种方案:OpenCV与Pillowimport cv2from PIL import ImagesrcImg = "./image.jpg"x = 8y = 16w = 32h = 16# OpenCV的方法def method_1(): img = cv2.imread(srcImg) print(img.shape) # 提供矩形的高度区间和宽度区间原创 2020-05-16 00:19:35 · 1594 阅读 · 0 评论