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

新闻静态网站咋做焦作网站建设哪家便宜

新闻静态网站咋做,焦作网站建设哪家便宜,营销型网站建设 价格,ui设计方向网站建设目标简介 本文主要通过对啥都会一点研究生系列进行总结#xff0c;对关键代码进行注释#xff0c;方便使用以及复习。 1 基础功能 1.1.显示图片 import cv2 # 读取图片 img cv2.imread(Resources/lena.png) # 显示图片 cv2.imshow(Lena Soderberg,img… 简介 本文主要通过对啥都会一点研究生系列进行总结对关键代码进行注释方便使用以及复习。 1 基础功能 1.1.显示图片 import cv2 # 读取图片 img cv2.imread(Resources/lena.png) # 显示图片 cv2.imshow(Lena Soderberg,img) # 毫秒级延时 0表示一直延时 1000表示一秒 cv2.waitKey(0) 1. 2.显示视频 import cv2 # 导入视频 cap cv2.VideoCapture(Resources/test_ video.mp4) while True:# success布尔值是否为真success, img cap.read()# 视频框名称cv2.imshow(Result, img)# 按q 中断循环if cv2.waitKey(1) 0xFF ord(q):break 1.3.摄像头显示  import cv2 frameWidth 640 frameHeight 480 # 0默认相机序号 cap cv2.VideoCapture(0) # 参数3在视频流的帧的宽度 # 参数4在视频流的帧的高度 # 参数10在视频流的帧的亮度 cap.set(3, frameWidth) cap.set(4, frameHeight) cap.set(10,150) while True:success, img cap.read()cv2.imshow(Result, img)if cv2.waitKey(1) 0xFF ord(q):break 1.4 图像预处理 import cv2 import numpy as npimg cv2.imread(Resources/lena.png) kernel np.ones((5,5),np.uint8) # 颜色转换成灰色图 imgGray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 图像模糊化 # 77可以不同数越大越模糊但都必须为正数和奇数也可以为零标准差取0 imgBlur cv2.GaussianBlur(imgGray,(7,7),0) # 边缘检测 imgCanny cv2.Canny(img,150,200) # 膨胀处理 imgDialation cv2.dilate(imgCanny,kernel,iterations1) # 腐蚀处理 imgEroded cv2.erode(imgDialation,kernel,iterations1)cv2.imshow(Gray Image,imgGray) cv2.imshow(Blur Image,imgBlur) cv2.imshow(Canny Image,imgCanny) cv2.imshow(Dialation Image,imgDialation) cv2.imshow(Eroded Image,imgEroded) cv2.waitKey(0) 2.调整图像大小 2.1 尺寸修改 import cv2 import numpy as npimg cv2.imread(Resources/shapes.png) # 打印图像尺寸 print(img.shape)# 对于选中图像修改高宽 imgResize cv2.resize(img,(1000,500)) print(imgResize.shape)# 剪切图像 imgCropped img[46:119,352:495]cv2.imshow(Image,img) # cv2.imshow(Image Resize,imgResize) cv2.imshow(Image Cropped,imgCropped)cv2.waitKey(0) 2.2 图形绘制与文字添加 import cv2 import numpy as np# 创建矩阵 img np.zeros((512,512,3),np.uint8) #print(img) #img[:] 255,0,0# 创建线条 cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,255,0),3) # 创建矩形 cv2.rectangle(img,(0,0),(250,350),(0,0,255),2) # 创建圆形 cv2.circle(img,(400,50),30,(255,255,0),5) # 添加字 cv2.putText(img, OPENCV ,(300,200),cv2.FONT_HERSHEY_COMPLEX,1,(0,150,0),3)cv2.imshow(Image,img)cv2.waitKey(0) 3.图像基础操作 3.1.图像透视 import cv2 import numpy as npimg cv2.imread(Resources/cards.jpg)width,height 250,350 pts1 np.float32([[111,219],[287,188],[154,482],[352,440]]) pts2 np.float32([[0,0],[width,0],[0,height],[width,height]])# 透视变换 # 使用getPerspectiveTransform()得到转换矩阵 matrix cv2.getPerspectiveTransform(pts1,pts2) #使用warpPerspective()进行透视变换 imgOutput cv2.warpPerspective(img,matrix,(width,height))cv2.imshow(Image,img) cv2.imshow(Output,imgOutput)cv2.waitKey(0) 3.2.图像拼接 import cv2 import numpy as npimg cv2.imread(Resources/lena.png) imgGray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgStack stackImages(0.5,([img,imgGray,img],[img,img,img])) # 水平拼接 imgHor np.hstack((img,img)) # 垂直拼接 imgVer np.vstack((img,img))cv2.imshow(Horizontal,imgHor) cv2.imshow(Vertical,imgVer) 缩小图像拼接 import cv2 import numpy as npdef stackImages(scale,imgArray):rows len(imgArray)cols len(imgArray[0])rowsAvailable isinstance(imgArray[0], list)width imgArray[0][0].shape[1]height imgArray[0][0].shape[0]if rowsAvailable:for x in range ( 0, rows):for y in range(0, cols):if imgArray[x][y].shape[:2] imgArray[0][0].shape [:2]:imgArray[x][y] cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)else:imgArray[x][y] cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)if len(imgArray[x][y].shape) 2: imgArray[x][y] cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)imageBlank np.zeros((height, width, 3), np.uint8)hor [imageBlank]*rowshor_con [imageBlank]*rowsfor x in range(0, rows):hor[x] np.hstack(imgArray[x])ver np.vstack(hor)else:for x in range(0, rows):if imgArray[x].shape[:2] imgArray[0].shape[:2]:imgArray[x] cv2.resize(imgArray[x], (0, 0), None, scale, scale)else:imgArray[x] cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)if len(imgArray[x].shape) 2: imgArray[x] cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)hor np.hstack(imgArray)ver horreturn verimg cv2.imread(Resources/lena.png) imgGray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)imgStack stackImages(0.5,([img,imgGray,img],[img,img,img]))# imgHor np.hstack((img,img)) # imgVer np.vstack((img,img)) # # cv2.imshow(Horizontal,imgHor) # cv2.imshow(Vertical,imgVer) cv2.imshow(ImageStack,imgStack)cv2.waitKey(0) 3.3 色块检测 import cv2 import numpy as np# 图像拼接 def stackImages(scale,imgArray):rows len(imgArray)cols len(imgArray[0])rowsAvailable isinstance(imgArray[0], list)width imgArray[0][0].shape[1]height imgArray[0][0].shape[0]if rowsAvailable:for x in range ( 0, rows):for y in range(0, cols):if imgArray[x][y].shape[:2] imgArray[0][0].shape [:2]:imgArray[x][y] cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)else:imgArray[x][y] cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)if len(imgArray[x][y].shape) 2: imgArray[x][y] cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)imageBlank np.zeros((height, width, 3), np.uint8)hor [imageBlank]*rowshor_con [imageBlank]*rowsfor x in range(0, rows):hor[x] np.hstack(imgArray[x])ver np.vstack(hor)else:for x in range(0, rows):if imgArray[x].shape[:2] imgArray[0].shape[:2]:imgArray[x] cv2.resize(imgArray[x], (0, 0), None, scale, scale)else:imgArray[x] cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)if len(imgArray[x].shape) 2: imgArray[x] cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)hor np.hstack(imgArray)ver horreturn ver# 图形轮廓函数 def getContours(img):# 输入参数# img 单通道二值图像白色是前景# RETR_EXTERNAL 只返回最外边的轮廓 hierarchy[i][2]hierarchy[i][3]-1# CHAIN_APPROX_NONE 存储轮廓上的所有点# 输出参数# contours 轮廓 M*N M是轮廓个数 N是每个轮廓的点# hierarchy 轮廓等级关系 M*4contours,hierarchy cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)for cnt in contours:# 轮廓面积area cv2.contourArea(cnt)print(area)if area500:# 第一个参数是指明在哪幅图像上绘制轮廓image为三通道才能显示轮廓# 第二个参数是轮廓本身在Python中是一个list;# 第三个参数指定绘制轮廓list中的哪条轮廓# 如果是 - 1则绘制其中的所有轮廓。后面的参数很简单。# 其中thickness表明轮廓线的宽度如果是 - 1cv2.FILLED则为填充模式cv2.drawContours(imgContour, cnt, -1, (255, 0, 0), 3)# 轮廓周长/弧长 第二参数指定对象的形状是闭合的True# 还是打开的一条曲线。peri cv2.arcLength(cnt,True)#print(peri)# 轮廓逼近#该参数是一个正数其值越小则逼近程度越高。# 通常建议使用轮廓周长的一定比例来计算该参数常见的比例因子为0.01。approx cv2.approxPolyDP(cnt,0.02*peri,True)print(len(approx))objCor len(approx)x, y, w, h cv2.boundingRect(approx)if objCor 3: objectType Trielif objCor 4:aspRatio w/float(h)if aspRatio 0.98 and aspRatio 1.03: objectType Squareelse:objectTypeRectangleelif objCor4: objectType Circleselse:objectTypeNonecv2.rectangle(imgContour,(x,y),(xw,yh),(0,255,0),2)cv2.putText(imgContour,objectType,(x(w//2)-10,y(h//2)-10),cv2.FONT_HERSHEY_COMPLEX,0.7,(0,0,0),2)path Resources/shapes.png img cv2.imread(path)# 复制图像 imgContour img.copy() # 灰度图 imgGray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 模糊 imgBlur cv2.GaussianBlur(imgGray,(7,7),1) # 边缘检测 imgCanny cv2.Canny(imgBlur,50,50) getContours(imgCanny) # 定义空矩阵 imgBlank np.zeros_like(img) imgStack stackImages(0.8,([img,imgGray,imgBlur],[imgCanny,imgContour,imgBlank]))cv2.imshow(Stack, imgStack) cv2.waitKey(0)
http://www.zqtcl.cn/news/338552/

相关文章:

  • 潘家园做网站的公司网络营销管理系统
  • 如何在各大平台推广博客网站seo
  • 网站地图那么建设国内哪个网站做水产比较大
  • 可以做图片视频的网站网站策划网
  • 在阿里云做的网站怎么移动南宁seo咨询
  • 电子商务网站开发课程设计论文温州市微网站制作电话
  • 常州住房和城乡建设部网站网站开发哪家公司口碑好
  • 网站备案 登录名巴中交通建设有限公司网站
  • 门户资源分享网站模板软件网站开发市场前景
  • 海南省住房和城乡建设厅官方网站列举五种常用的网站推广方法
  • aso优化服务平台东莞优化seo
  • 高唐做创建网站的公司网站开发费怎么做账
  • 域名有没有被注册哪个网站最好中企动力网站建设方案
  • 无锡网站制作计划我的世界寻找建筑网站
  • 烟台建设集团招聘信息网站青岛百度公司总部
  • php网站模板怎么用怎么做链接网站
  • 完整网站开发视频教程安丘营销型网站建设
  • 女与男爱做电影网站免费网站外包公司
  • 传统文化传播公司网站建设wordpress 插件开启
  • 哪些网站是做外贸生意的网站建设所需美工
  • 网站建设哪个公司比较好惠州网络问政平台
  • 河南网站备案系统短信广州注册公司程序
  • 苏晋建设集团网站跨专业的简历怎么制作
  • 交互网站怎么做设计师作品网站
  • 国外网站的分析工具有哪些办公室装修计入什么会计科目
  • 手机网站 需求模板3000元建设个人网站
  • 请人做网站域名和主机thinkphp网站开发实战教程
  • 做地产网站哪家好饮料网站建设价格
  • 外管局网站 报告怎么做wordpress 阿里
  • 湘潭做网站 去磐石网络山西自助建站费用低