自己做的网站怎么被搜录宁波seo基础入门

news/2025/9/22 22:41:28/文章来源:
自己做的网站怎么被搜录,宁波seo基础入门,seo常见的优化技术,微擎商城简介 本文主要通过对啥都会一点研究生系列进行总结#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.mzph.cn/news/910622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设公司包括哪些方面网站开发服务器多少钱

vue跨域解决方法 vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No Access-Control-Allow-Origin header is present on the requested resource.” 这种跨域错误。 要想本地正常的调…

python用于网站开发软文营销网

C语言求n的阶乘 递归法 思路&#xff1a;因为n的阶乘是 nn-1…321,所以设定初始条件为1 &#xff0c;递归使用n*函数&#xff08;n-1&#xff09;这样就可以不断接近初始条件。 代码如下 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int FindFact(int n) {if…

打代码怎么做网站线上推广平台有哪些

文章目录 传统的处理错误的方式C异常C异常的使用抛异常的举例异常的重新抛出异常规范 自定义异常体系C标准库中的异常体系异常的优缺点 本篇总结的是C中关于异常的内容 传统的处理错误的方式 在C语言中&#xff0c;对于传统的错误方式有 终止程序&#xff1a;例如assert&…

part 8

T1 普通的二分+贪心 T2 定义 \(f_{i,j,k}\) 表示考虑完前 \(i\) 个节点,有 \(j\) 棵树,前 \(i\) 个节点还缺少 \(k\) 个儿子,每次转移钦定 \(i\) 的儿子数量即可

【本地音乐库】的搭建管理工具推荐

下载Gomusic:提取歌单目录我一般复制贴到 flowus 或者 notion 之类的笔记软件,全选改为待办块,下载一首check一个。还可以转为多维表,检索关键词可批量check同个歌手。MP3搜集:知名度高的流行歌很好找,XX音乐网一…

扭曲变形验证码的图像处理与识别思路

为了进一步防止自动化程序,很多验证码会在字符上加入波浪形扭曲或旋转变形。这种验证码的难点在于:字符形状被严重改变,传统 OCR 在未经校正的情况下几乎无法识别。本文将介绍一种基于几何校正与投影分析的识别流程…

专业汽车网站东营网站建设入门

I/O设备模型 绝大部分的嵌入式系统都包括一些I/O&#xff08;Input/Outut&#xff0c;输入/输出&#xff09;设备&#xff0c;例如仪器上的数据显示屏、工业设备上的串口通信、数据采集设备上用于保存数据的Flash或SD卡&#xff0c;以及网络设备的以太网接口等。 I/O设备模型…

创新的网站建站企业宣传片拍摄公司

CF785D Anton and School - 2 题意&#xff1a; 给定一个长度≤210^5由(和)组成的字符串&#xff0c;问有多少个子串&#xff08;可以不连续&#xff09;&#xff0c;前半部分是由(组成后半部分由)组成. 题解&#xff1a; 怎么括号匹配能出这么多题 如何才能不重不漏的选出…

常用的seo查询工具济宁网站建设优化亿峰

1、问题 Android Studio debug调试项目卡在waiting for debugger界面2、解决办法 一开始从启adb服务adb stop-server adb start-server 发现没什么用&#xff0c;然后呢&#xff0c;估计是很多app再运行&#xff0c;然后我就重启了Android studio,问题就解决了如果要是万一还不…

网站 演示代码中国目前最好的搜索引擎

理解线程同步线程的数据访问在并行&#xff08;多线程&#xff09;环境中&#xff0c;不可避免地会存在多个线程同时访问某个数据的情况。多个线程对共享数据的访问有下面3种情形&#xff1a;多个线程同时读取数据&#xff1b;单个线程更新数据&#xff0c;此时其他线程读取数据…

微信网页版公众号网站怎么做武夷山网站建设wzjseo

自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&#xff09;是计算机科学与语言学中关注于计算机与人类语言间转换的领域。 1. 文本预处理 文本预处理详情 4. RNN模型

ih5做自适应网站淮安企业网站制作

深度优先搜索(Depth-First-Search) 从起点出发&#xff0c;走过的点要做标记&#xff0c;发现有没走过的点&#xff0c;就随意挑一个往前走&#xff0c;走不 了就回退&#xff0c;此种路径搜索策略就称为“深度优先搜索”&#xff0c;简称“深搜”。 其实称为“远度优先搜索”…

做网站要哪些人员佳木斯建设局网站

经过无数次的实验&#xff0c;最终配置了一套比较舒服的主题&#xff0c;审美在不断的提高&#xff0c;但是内在快跟不上了哈 1. 安装主题 先下载资源包&#xff0c;资源包是收费的&#xff0c;算是犒赏吧。 https://download.csdn.net/download/wf19930209/23520618 1.1 更…

网站建设设计费用摊销年限运营实力 网站建设

目录 3.1 情况一&#xff1a;两个表数据一一对应 3.2 情况二&#xff1a;两个表数据并非一一对应 本专栏关于联合查询已建立相应库与表&#xff0c;原文链接如下&#xff1a; 【MySQL】_联合查询基础表-CSDN博客 内连接原文如下&#xff1a; 【MySQL】_内连接-CSDN博客 基…

AI 写代码 “翻车”?人类程序员 “偷笑”?AI能应对我们的问题吗?人工智能到底是“智能”还是“人工”?真相有点意思!

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

每日收获

今天的JAVA主要表达了一个编程思想-分解,并重写编写课程测试题.接下来,准备找<<程序员精炼之道,从小工到专家>>,并完成一部分作业.

网站外包维护一年多少钱做网站需要具备哪些条件

文章目录 复盘与一周总结2967. 使数组成为等数数组的最小代价&#xff08;中位数贪心 回文数判断&#xff09;2968. 执行操作使频率分数最大&#xff08;中位数贪心 前缀和 滑窗&#xff09; 复盘与一周总结 wa穿了第3题&#xff0c;赛时其实想到了思路&#xff1a;中位数贪心…

C++中std::map容器中元素删除方法汇总 - 详解

C++中std::map容器中元素删除方法汇总 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

物理半程与半时问题

本文旨在深入解析匀变速直线运动中常见的“半程问题”和“半时问题”,通过公式推导、多种方法比较以及物理意义的阐释,帮助你理解两者在平均速度上的差异及其内在原因。物理半程与半时问题 本文旨在深入解析匀变速直…

网站展现形式网站seo优化课程

一.简单实例&#xff1a; 1.实例要求 点击按钮&#xff0c;实现 >o<与#-#的转换。 2.步骤 补充&#xff1a;​​​​​​​ 1.如果我想在lambda中修改数据&#xff0c;怎么办&#xff1f; 写上mutable就行。