当前位置: 首页 > news >正文

手机百度收录网站吗2345软件管家

手机百度收录网站吗,2345软件管家,做网站昆山,性价比高的域名备案加急python计算机视觉编程——10.OpenCV 10.OpenCV10.2 OpenCV基础知识10.2.1 读取和写入图像10.2.2 颜色空间10.2.3 显示图像及结果 10.3 处理视频10.3.1 视频输入10.3.2 将视频读取到NumPy数组中 10.4 跟踪10.4.1 光流10.4.2 Lucas-Kanade算法使用跟踪器使用发生器 10.5 更多示例… python计算机视觉编程——10.OpenCV 10.OpenCV10.2 OpenCV基础知识10.2.1 读取和写入图像10.2.2 颜色空间10.2.3 显示图像及结果 10.3 处理视频10.3.1 视频输入10.3.2 将视频读取到NumPy数组中 10.4 跟踪10.4.1 光流10.4.2 Lucas-Kanade算法使用跟踪器使用发生器 10.5 更多示例10.5.1图像修复 10.OpenCV 10.2 OpenCV基础知识 10.2.1 读取和写入图像 import cv2 from pylab import * imcv2.imread(sun.jpg) h,wim.shape[:2] print(h,w)cv2.imwrite(result.png,im)10.2.2 颜色空间 imcv2.imread(sun.jpg) # 创建灰度图像 # COLOR_BGR2GRAY、COLOR_BGR2RGB、COLOR_GRAY2BGR gray cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) imshow(gray)10.2.3 显示图像及结果 import cv2 # 读取图像 im cv2.imread(sun.jpg) gray cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)# 计算积分图像 intim cv2.integral(gray)# 归一化并保存 intim (255.0*intim) / intim.max() cv2.imwrite(result.jpg,intim)import cv2# 读取图像 filename sun.jpg im cv2.imread(filename) h,w im.shape[:2] # 泛洪填充 diff (6,6,6) mask np.zeros((h2,w2),uint8) cv2.floodFill(im,mask,(10,10), (255,255,0),diff,diff) # 在OpenCV 窗口中显示结果 cv2.imshow(flood fill,im) cv2.waitKey() # 保存结果 cv2.imwrite(result.jpg,im)from pylab import * im1cv2.imread(result_10.2.3-1.jpg) im2cv2.imread(result_10.2.3-2.jpg) gray() subplot(121) imshow(im1) subplot(122) imshow(im2)import cv2# 初始化 ORB 检测器 orb cv2.ORB_create()# 读取图像 image cv2.imread(sun.jpg, cv2.IMREAD_GRAYSCALE)# 检测关键点和描述符 keypoints, descriptors orb.detectAndCompute(image, None)# 在图像上绘制关键点 output_image cv2.drawKeypoints(image, keypoints, None)# 显示结果 cv2.imshow(ORB Keypoints, output_image) cv2.waitKey(0) cv2.destroyAllWindows()10.3 处理视频 10.3.1 视频输入 import cv2#设置视频捕获 # cap cv2.VideoCapture(0) #可以是摄像头的索引 cap cv2.VideoCapture(MARSCONCERT.mp4) #也可以是视频的名称if not cap.isOpened():print(无法打摄像机)exit()while True:ret,im cap.read()cv2.imshow(video_test,im)key cv2.waitKey(10)if key 27: #Esc键退出breakif key ord( ): #空格抓拍cv2.imwrite(vid_result.jpg,im)# 释放摄像头并关闭所有窗口 cap.release() cv2.destroyAllWindows()还可以对实时显示的图像进行模糊 import cv2# 1. 捕获视频 cap cv2.VideoCapture(MARSCONCERT.mp4) # 0通常代表默认的摄像头也可以替换为视频文件的路径# 检查摄像头是否成功打开 if not cap.isOpened():print(Error opening video stream or file)exit()# 2. 设置输出视频参数 # fourcc cv2.VideoWriter_fourcc(*XVID) # 选择编码器 # out cv2.VideoWriter(output.avi, fourcc, 20.0, (640, 480)) # 输出视频文件名、编码器、帧率、分辨率# 3. 读取并处理帧 while(cap.isOpened()):ret, frame cap.read() # 读取一帧if ret True:blur cv2.GaussianBlur(frame,(0,0),5)# 将处理后的帧写入输出视频# out.write(gray)# 显示帧可选cv2.imshow(frame, blur)key cv2.waitKey(10)if key 27: #(Esc键)breakif key ord( ):cv2.imwrite(vid_result.jpg,im)else:break# 完成后释放资源 cap.release() # out.release() cv2.destroyAllWindows()10.3.2 将视频读取到NumPy数组中 import cv2 import numpy as np cap cv2.VideoCapture(MARSCONCERT.mp4)frames[] # 获取帧存储到数组中 flag0 while True:ret,im cap.read()if flag0:print(im.shape)flag1if ret True:cv2.imshow(video,im)frames.append(im)if cv2.waitKey(10) 27:print(im.shape)breakelse:break frames np.array(frames)# 检查尺寸 print(frames.shape)# 完成后释放资源 cap.release() cv2.destroyAllWindows() # 有帧数、帧高、帧宽及颜色通道数(3个),共记录了181帧10.4 跟踪 10.4.1 光流 光流法主要依赖于三个假设。 亮度恒定:图像中目标的像素强度在连续帧之间不会发生变化。时间规律:相邻帧之间的时间足够短以至于在考虑运行变化时可以忽略它们之 间的差异。该假设用于导出下面的核心方程。空间一致性:相邻像素具有相似的运动。 import cv2 import numpy as np def draw_flow(im,flow,step16): 在间隔分开的像素采样点处绘制光流h,w im.shape[:2] # 获取图像的高度和宽度y,x np.mgrid[step/2:h:step,step/2:w:step].reshape(2,-1) # 生成间隔分开的采样点坐标y, x y.astype(np.int32), x.astype(np.int32) # 转换为整数类型# print(y,x)fx,fy flow[y,x].T # 获取每个采样点的光流向量分量# 创建线的终点lines np.vstack([x,y,xfx,yfy]).T.reshape(-1,2,2)lines np.int32(lines)# 创建图像并绘制vis cv2.cvtColor(im,cv2.COLOR_GRAY2BGR) # 将灰度图像转换为彩色图像for (x1,y1),(x2,y2) in lines:cv2.line(vis,(x1,y1),(x2,y2),(0,255,0),1) # 绘制光流的线条cv2.circle(vis,(x1,y1),1,(0,255,0), -1) # 在起点绘制小圆点return vis# 设置视频捕获 cap cv2.VideoCapture(小镇里的花.mp4) ret,im cap.read() prev_gray cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)while True:# 获取灰度图像ret,im cap.read()gray cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)#计算流 flow cv2.calcOpticalFlowFarneback(prev_gray,gray,None,0.5,3,15,3,5,1.2,0)prev_gray gray#画出流矢量 cv2.imshow(Optical flow,draw_flow(gray,flow))if cv2.waitKey(10) 27:break cap.release() cv2.destroyAllWindows()10.4.2 Lucas-Kanade算法 import cv2# 一些常数及默认参数 lk_params dict(winSize(15,15),maxLevel2,criteria(cv2.TERM_CRITERIA_EPS|cv2.TERM_CRITERIA_COUNT,10,0.03)) subpix_params dict(zeroZone(-1,-1),winSize(10,10),criteria (cv2.TERM_CRITERIA_COUNT|cv2.TERM_CRITERIA_EPS,20,0.03)) feature_params dict(maxCorners500,qualityLevel0.01,minDistance10)class LKTracker(object):用金字塔光流Lucas-Kanade跟踪类def __init__(self,imnames): 使用图像名称列表初始化self.imnames imnamesself.features []self.tracks []self.current_frame 0def detect_points(self): 利用子像素精确度在当前帧中检测“利于跟踪的好的特征”(角点) #载入图像并创建灰度图像self.image cv2.imread(self.imnames[self.current_frame])self.gray cv2.cvtColor(self.image,cv2.COLOR_BGR2GRAY)#搜索好的特征点features cv2.goodFeaturesToTrack(self.gray, **feature_params)#提炼角点位置cv2.cornerSubPix(self.gray,features, **subpix_params)self.features featuresself.tracks [[p] for p in features.reshape((-1,2))]self.prev_gray self.graydef track_points(self): 跟踪检测到的特征 if self.features ! []:self.step() # 移到下一帧# 载入图像并创建灰度图像self.image cv2.imread(self.imnames[self.current_frame])self.gray cv2.cvtColor(self.image,cv2.COLOR_BGR2GRAY)# reshape() 操作以适应输入格式tmp np.float32(self.features).reshape(-1, 1, 2)# 计算光流features,status,track_error cv2.calcOpticalFlowPyrLK(self.prev_gray,self.gray,tmp,None,**lk_params)# 去除丢失的点self.features [p for (st,p) in zip(status,features) if st]# 从丢失的点清楚跟踪轨迹features np.array(features).reshape((-1,2))for i,f in enumerate(features):self.tracks[i].append(f)ndx [i for (i,st) in enumerate(status) if not st]ndx.reverse()# 从后面移除for i in ndx:self.tracks.pop(i) self.prev_gray self.graydef step(self,framenbrNone): 移到下一帧。如果没有给定参数直接移到下一帧if framenbr is None:self.current_frame (self.current_frame 1) % len(self.imnames)else:self.current_frame framenbr % len(self.imnames)def draw(self):用OpenCV 自带的画图函数画出当前图像及跟踪点按任意键关闭窗口 # 用绿色圆圈画出跟踪点for point in self.features:cv2.circle(self.image,(int(point[0][0]),int(point[0][1])),3,(0,255,0),-1)cv2.imshow(LKtrack,self.image)cv2.waitKey()使用跟踪器 import numpy as np imnames [bt.003.pgm, bt.002.pgm, bt.001.pgm, bt.000.pgm]# 创建跟踪对象 lkt LKTracker(imnames) # 在第一帧进行检测跟踪剩下的帧 lkt.detect_points() lkt.draw() for i in range(len(imnames)-1):lkt.track_points()lkt.draw()cv2.waitKey(0) cv2.destroyAllWindows()使用发生器 将下面的方法添加到LKTracker类 def track(self): 发生器用于遍历整个序列 for i in range(len(self.imnames)):if self.features []:self.detect_points()else:self.track_points()# 创建一份RGB副本f array(self.features).reshape(-1,2)im cv2.cvtColor(self.image,cv2.COLOR_BGR2RGB)yield im,ffrom pylab import * imnames [viff.000.ppm, viff.001.ppm,viff.002.ppm, viff.003.ppm, viff.004.ppm] # 用LKTracker 发生器进行跟踪 lkt LKTracker(imnames) for im,ft in lkt.track():print(tracking %d features % len(ft)) # 画出轨迹 figure() imshow(im) for p in ft:plot(p[0],p[1],bo) for t in lkt.tracks:plot([p[0] for p in t],[p[1] for p in t]) axis(off) show()10.5 更多示例 10.5.1图像修复 import numpy as np import cv2#读取图片 img cv2.imread(repair.png) #图像转换为灰度图像 gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #灰度二值化 _,mask cv2.threshold(cv2.cvtColor(img,cv2.COLOR_BGR2GRAY),100,255,cv2.THRESH_BINARY_INV) dst cv2.inpaint(img,mask,10,cv2.INPAINT_NS) #3:领域大小 cv2.imshow(img0,img) #cv2.imshow(img10,mask1) cv2.imshow(img1,mask) cv2.imshow(img2,dst) cv2.waitKey(0) cv2.destroyAllWindows()下图为修复前的图像 下图为掩模图 下图为修复图像可以看到虽然黑线被修复了但是整体图像中原本不需要修复的地方会被修复函数当作是需要修复的
http://www.dnsts.com.cn/news/132055.html

相关文章:

  • 二级域名建站怎样用编程语言做网站
  • 大庆市建设局网站h5网站价格方案
  • 合肥市公司网站建设苍南做网站哪里找
  • wap网站搜索品牌策略怎么写
  • 网站建设价格情况建站网站那个好
  • 怎么创建网站详细流程网站 简单
  • 新密建设局网站可以推广的软件有哪些
  • vue做的网站域名汇总公众号开发者密码怎么重置
  • 雄县网站建设评价一个网站的好坏
  • 百度做网站审核要多久wordpress 付费后查看
  • 关于动物自己做的网站苏州专业做网站公司哪家好
  • dedecms网站开发iis 配置网站 404页面
  • seo大神做的网站网站开发教学视频教程
  • 在百度里面做个网站怎么做网站开发生命周期
  • wordpress一键建站woshop商城源码
  • 百度官方网站登录自己公司网站维护
  • 怎么把网站管理系统江苏大汉建设实业集团网站
  • 达内网站开发学习培训会展平面设计主要做什么
  • 专业建站外包自己做的网站怎么上线
  • 提供龙岗网站建设企业网站多少钱
  • h5网站开发教程南康建设局官方网站
  • 案例学 网页设计与网站建设旅游电子商务网站开发制作
  • 销售一个产品的网站怎么做北京建设网官网下载
  • 网站后台代码添加图片随州网
  • 自己怎么做卖服装的网站网站设置密码怎么破解
  • 泉州手机网站建设价格购物网站制作怎么做
  • 山东网站方案英文网站建站山东
  • 广州市官网网站建设报价商丘网站网站建设
  • 华强北电子网站建设网站建设的案例教程视频
  • 网站开发概述潍坊专科学校