OpenCv
赵怡恒
主要研究方向:语言基础模型,多模态基础模型,语言视觉行为基础模型的可靠性
展开
-
Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
import osos.environ[‘KMP_DUPLICATE_LIB_OK’]=‘True’原创 2021-11-10 14:09:39 · 282 阅读 · 0 评论 -
opencv保存图片小bug
错误:cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-6sxsq0tp\opencv\modules\imgcodecs\src\loadsave.cpp:667: error: (-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_'图片路径不对,原创 2021-11-08 18:55:03 · 3105 阅读 · 0 评论 -
OpenCv(改变颜色空间)-实现追踪蓝色物体的效果
一.#查看一下opencv里所有的颜色转换标记import cv2 as cvflags = [i for i in dir(cv) if i.startswith('COLOR_')]print( flags )二.实现追踪蓝色物体的效果import cv2 as cvimport numpy as np#选择摄像头cap = cv.VideoCapture(0)#死循环,遇到break跳出循环while(1): # 读取帧,cp.read()返回两个参数,第一个参数返回值为原创 2020-08-12 13:28:20 · 559 阅读 · 0 评论 -
OpenCv(性能衡量和提升技术)
1.使用opencv提升性能'''查看你自己写的函数的执行时间'''e1 = cv.getTickCount()# 你的执行代码e2 = cv.getTickCount()time = (e2 - e1)/ cv.getTickFrequency()img1 = cv.imread('messi5.jpg')e1 = cv.getTickCount()for i in range(5,49,2): img1 = cv.medianBlur(img1,i)e2 = cv.get原创 2020-08-10 11:14:18 · 413 阅读 · 0 评论 -
OpenCv(图像的算术运算)-图像融合
#注意:融合的时候一定要图片的大小和通道数相等import numpy as npimport cv2 as cvimg1 = cv.imread('m3.jpg')img2 = cv.imread('m4.jpg')dst = cv.addWeighted(img1,0.7,img2,0.3,0)cv.imshow('dst',dst)cv.waitKey(0)cv.destroyAllWindows()...原创 2020-08-04 10:50:46 · 128 阅读 · 0 评论 -
OpenCv(图像的算术运算)-图像加法
import numpy as npimport cv2 as cvx = np.uint8([250])y = np.uint8([10])#cv下运算:饱和运算:250+10=260=255print(cv.add(x,y))#numpy下运算:取模运算:250+10=260%256=4print(x+y) #总之来说,opencv的效果更好原创 2020-08-04 10:49:52 · 488 阅读 · 0 评论 -
OpenCv(图像的算术运算)-按位运算
import numpy as npimport cv2 as cvx = np.uint8([250])y = np.uint8([10])#cv下运算:饱和运算:250+10=260=255print(cv.add(x,y))#numpy下运算:取模运算:250+10=260%256=4print(x+y) #总之来说,opencv的效果更好原创 2020-08-04 10:45:03 · 455 阅读 · 0 评论 -
OpenCv(图像的基本操作)-图像填充(在卷积运算中也有一定的应用)
import cv2 as cvimport numpy as npfrom matplotlib import pyplot as plt#读取图像img1 = cv.imread('messi5.jpg')#cv.BORDER_REPLICATE:重复填充,10,10,10,10:top,bottom,left,rightreplicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE)#cv.BORDER_REFLECT原创 2020-08-03 10:54:15 · 319 阅读 · 0 评论 -
OpenCv(图像的基本操作)-拆分和合并图像通道
#注意:cv.split() 是比较费时间的一项操作#拆分b,g,r = cv.split(img)print(b)print(g)print(r)#合并img = cv.merge((b,g,r))print(img)#拆分出蓝色通道b = img [:, :, 0]print(b)#将所有红色通道的值都设置为0img [:, :, 2] = 0r = img [:, :, 2]print(r)...原创 2020-08-03 10:53:06 · 427 阅读 · 0 评论 -
OpenCv(图像的基本操作)-图像感兴趣区域ROI
#选取图像中你感兴趣的一块区域ball = img[280:340, 330:390]#将你感兴趣的区域复制到另一块区域img[273:333, 100:160] = ball'''显示图像用于查看效果'''#建立空窗口,此方法加载的图像可以调整窗口的大小cv.namedWindow('image',cv.WINDOW_NORMAL)#显示图像cv.imshow('image',img)#窗口暂停cv.waitKey(0)#为了可以关闭窗口cv.destroyAllWindo原创 2020-08-03 10:51:18 · 262 阅读 · 0 评论 -
OpenCv(图像的基本操作)-访问图像属性
#查看图像形状,并且可以检查图像是彩色图像还是灰度图像print(img.shape)#查看图像像素值总数print(img.size)#图像数据类型print( img.dtype )当然,图像还有一些其他的属性,都可以通过类似的方法来进行访问。...原创 2020-08-03 10:49:41 · 218 阅读 · 0 评论 -
OpenCv(图像的基本操作)-访问和修改像素值
#导包import numpy as npimport cv2 as cv#加载彩色图像img = cv.imread('messi5.jpg')px = img[100,100]print(px)blue = img[100,100,0]print(blue)#修改像素值img[100,100] = [255,255,255]print(img[100,100])#更好的访问像素值以及修改像素值的方法img.item(10,10,2)img.itemset((10,10,2),原创 2020-08-03 10:46:18 · 603 阅读 · 0 评论 -
OpenCv(绘图)-轨迹栏作为调色板
import numpy as npimport cv2 as cv#回调函数def nothing(x): pass# 创建一个黑色的图像,一个窗口img = np.zeros((512,512,3), np.uint8)#窗口名字叫做imagecv.namedWindow('image')# 创建颜色变化的轨迹栏cv.createTrackbar('R','image',0,255,nothing)cv.createTrackbar('G','image',0,255,not原创 2020-08-03 09:50:27 · 206 阅读 · 0 评论 -
OpenCv(绘图)-鼠标作为画笔
一.基础演示(绘制单一图形)显示event所有的模式import cv2 as cvevents = [i for i in dir(cv) if 'EVENT' in i]print( events )''' CV_EVENT_MOUSEMOVE =0, //鼠标移动 CV_EVENT_LBUTTONDOWN =1, //按下左键 CV_EVENT_RBUTTONDOWN =2, //按下右键 CV_EVENT_MBUTTOND原创 2020-08-02 11:29:03 · 545 阅读 · 0 评论 -
OpenCv(绘图)-线性,圆,椭圆,多边形,文本
导包import numpy as npimport cv2 as cv绘制图像#创建一个512*512的空灰度框图,后面的操作都在此框图上操作img = np.zeros((512,512,3),np.uint8)#绘制一条蓝色直线,第一个参数为绘制对象,第二个参数为起点,第三个参数未终点,第四个参数厚度,即线条的宽度#注意:框图左上角为坐标轴的中心原点,向下延伸为y轴的正方向,向右延伸为x轴的正方向cv.line(img,(0,0),(511,511),(255,0,0),5)#绘制原创 2020-08-02 10:14:34 · 149 阅读 · 0 评论 -
OpenCv(图像入门篇)-读取,显示,保存视频
从相机中读取视频import numpy as npimport cv2 as cv#选择摄像头cap = cv.VideoCapture(0)#如果摄像头没打开,后面程序不执行,重新调if not cap.isOpened(): print("Cannot open camera") exit()#死循环while True: #ret返回是否正确读取了帧,frame为帧传递对象 ret,frame = cap.read() if not ret:原创 2020-08-01 18:31:25 · 378 阅读 · 0 评论 -
OpenCv(图像入门篇)-读取,显示,保存图片
读取,显示图像#导包import numpy as npimport cv2 as cvimport numpy as npimport cv2 as cv#加载彩色灰度图像,参数为0灰度图像,参数为1彩色图像img = cv.imread('messi5.jpg',1)print (img)#显示图像,第一个参数为窗口名字,第二个参数为显示对象cv.imshow('image',img)#参数为0可以暂停显示,类比c中systemcv.waitKey(0)#为了能正常关闭所有的原创 2020-08-01 18:28:03 · 401 阅读 · 0 评论