电子商务网站建设完整详细流程如何用博客网站做cpa
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:24
当前位置: 首页 > news >正文
电子商务网站建设完整详细流程,如何用博客网站做cpa,企业网站seo网址,施工企业市场经营工作思路及措施博主简介 博主是一名大二学生#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇#xff0c;博主致力于在这里分享关于人工智能#xff0c;c#xff0c;Python#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主#xff0c;博主会继续更新的#xff0c… 博主简介 博主是一名大二学生主攻人工智能研究。感谢让我们在CSDN相遇博主致力于在这里分享关于人工智能cPython爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主博主会继续更新的如果有错误之处大家可以指正。 专栏简介 本专栏主要研究计算机视觉涉及算法案例实践网络模型等知识。包括一些常用的数据处理算法也会介绍很多的Python第三方库。如果需要点击这里 订阅专栏 。 给大家分享一个我很喜欢的一句话“每天多努力一点不为别的只为日后能够多一些选择选择舒心的日子选择自己喜欢的人” 目录 计算机眼里的图像 计算机视觉的起源 马尔计算视觉 主动和目的视觉 多视几何和分层三维重建 基于学习的视觉 计算及视觉的难点 专栏研究方向 传统图像处理之OpenCV的妙用 OpenCV安装 OpenCV模块 OpenCV的基本操作 OpenCV数据存取 OpenCV图像缩放 OpenCV图像裁剪 OpenCV图像旋转 从摄像头读取 矩阵操作 计算机眼里的图像 图像一直以直观著称一张图像包含的信息很多所谓一图胜千言对于人类来说理解图像很方便几乎是一眼就能理解图像表达的意思科学研究表明这是因为人的大脑有一套注意力集中机制对于图像中的海量信息人脑能快速地找到其中最重要的信息。但是计算机该如何去理解这就涉及到了计算机视觉的知识本专栏就是来描述计算机视觉。 计算机视觉的起源 1982年《视觉》Marr1982一书的问世标志着计算机视觉这门学科的诞生。此后计算机视觉经历了四个阶段第一个阶段马尔计算视觉第二个阶段主动和目的视觉第三阶段多视几何和分层三维重建第四个阶段基于学习的视觉。四个阶段算然是依次进行的但不能说哪一个好哪一个不好只是后者比前者更加顺应当时的时代。 马尔计算视觉 马尔计算视觉的主要思想是大脑可以快速完成三维重建马尔认为三维重建是可以完全靠计算来实现。他认为图象是物理实体在视网膜上的投影所以理解了物理信息就可以理解图像信息。简而言之其计算机视觉计算理论就是要“挖掘物体的物理属性来完成对应的视觉问题”。其意义完在于如果简单地从数学角度出发很多图像具有歧义性。 主动和目的视觉 马尔视觉的泛化性不够理性很难在工业界实现可以想象由计算机对任何物体做三维重建是多么困难。美国的R.Bajcsy教授提出了主动视觉的概念主要思想视觉要有目的性例如在一张百人合影里面人能轻松地找到自己的位置或者自己好友的位置而对其他人“视而不见”。三维重建并非视觉的目的找到想看到的图像才是根本目的。 多视几何和分层三维重建 随着主动视觉昙花一现多视几何走向繁荣多视几何的代表性人物有法国的O.Faugeras、美国的R.Hartely和英国的A.Zisserman等。多视几何的目的是增加三维重建算法的效率和精度使其能真正落地。三维重建就是从图像中选取合适的图像集然后对拍摄位置信息进行标定并重建出场景的三维结构。 基于学习的视觉 基于学习的视觉是本书的主要内容以机器学习为主要手段包括流形学习和深度学习两大流派。 流形学习时域2000年但是在后面的研究中发现多数情况下流形学习的结果还不如传统的降维方法如主成分分析和线性判别分析等。 深度学习虽然是近几年才火起来的但是其效果非常好并且模型层出不穷。深度学习更像是实践科学和前几个阶段不同并非有很完善的理论支持。往往在不停的尝试中模型得到改善。在静态物体识别中卷积神经网络已经超过人类的准确度。 计算及视觉的难点 计算机视觉的难点有两点三维重建和鲁棒性。 三维重建之所以对人类来说非常简单主要是因为人本身就生活在三维世界中而计算机却是一个二维“生物”。就像我们去构建四维世界的东西就会觉得非常困难根本无从下手。对于计算机来说完成三维世界的图像构建对于他来说无疑是降维打击。所以这才需要人类的帮助让计算机能够识别图像。 鲁棒性的问题简单地说就是先验知识和注意机制问题。对于人来说即使只是轮廓或者很模糊的照片也能大致猜测出图片的内容。但是计算机就不行他对图像的识别都有很严格的限制改变颜色形状。模糊程度等都会让计算机识别精度下降。这就是鲁棒性问题。 专栏研究方向 在介绍这篇专栏前我先解释一下博主之前一直在更新人工智能算法专栏由于人工智能算法涉及到的面很广知识面太过复杂其中就包含了深度学习所以博主打算出一期计算机视觉的专栏先介绍一下这样学习人工智能算法会简单很多。博主更新完计算机视觉专栏后会继续更新人工智能算法。在这里给大家说一声抱歉 计算机视觉主要研究方向有图像识别目标检测图像分割目标跟踪等。 图像识别也叫图像分类可以分为i物种级分类子类分类和实例级分类主要模型有VGGGoogleNetRestNet等常用的数据库有Minist手写数字carfil10cifar100ImageNet等。 目标检测拥有识别物体类别还需要框出物体位置信息例如智能相机还能标注出人脸的位置。传统的我们可以用OpenCV来解决这类问题但是召回率低。常用的模型有Fast R-CNNYOLO和SSD等。 图像分割计算机视觉中最高层次的理解范畴。目标就是把图像分割成具有相似特性的若干个区域并使他们对因物体的不同部分或不同的物体。常用的模型是全卷积神经网络。 目标跟踪也可以看成连续的目标检测目的就是在视频中对物体进行连续跟踪。目标跟踪常用在监控系统中。跟踪算法可以被分为生成式和判别式两大类别。深度学习主要用在判别模式上著名的模型有SO-DLT和FCNT等。不同于目标检测、物体识别等领域深度学习一家独大的形式深度学习在目标跟踪方向还未能达成垄断地位其主要难点在于数据缺失和物体快速移动。 提到深度学习相关的计算机视觉不得不提到最近流行的风格迁移以及GAN生成式对抗网络。例如现在使用的ZAO就是运用了此技术。 传统图像处理之OpenCV的妙用 OpenCVOpen Source Computer Vision Library顾名思义就是开源的计算机视觉库采用CC编写也提供了Python和Matlab等语言的接口并且在各大操作平台均可使用。OPenCV不只是一个简单的提供了计算机视觉常用的操作更对其中关键算法进行了优化和提速从而可以进行多线程处理。 OpenCV安装 pip install opencv-python 如果下载速度太慢可以考虑使用镜像 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simpleOpenCV模块 CUDA-accelerated Computer VisionCUDA加速模块。 Core functionality和兴功能模块包含各种c操作接口矩阵运算。 Image Processing图像处理模块包含图像处理四大任务。 Image file reading and writing图像读取和保存模块。 Video I/O:视频读取和保存模块。 Video Analysis视频分析模块。 Camera Calibration and 3D Reconstruction相机校准和3D重建模块。 2D Features Framework2D功能框架模块。 Objecneural Dection 目标检测模块。 Deep Network module深度学习模块 Machine Learning机器学习模块。 Clustering and Search in Multi-Dimensional Spaces多维空间模块。 Computational Photography计算摄影模块。 Images stitching图像拼接模块。 G-API framework图论框架模块。 ArUco Marker DetectionArUco表i标记检测模块。 Improved Background-Foreground Segmentation Methods背景前景分割模块。 Biologically inspired vision models and derivated tools基于生物的视觉模型和工具模块。 Custom Calibration Pattern for 3D reconstruction传统模式三维重建模块。 OpenCV的基本操作 OpenCV数据存取 opencv支持各种类型与格式的图像数据读取方式非常简单使用imread函数即可该函数有两个参数第一个参数path指图片路径第二个参数flag表示读取方式默认值为从v.IMREAD_COLOR,默认读取彩色图片可选值为cv2.IMREAD_GRAYSCALE和cv2.IMREAD_UNCHANGED默认颜色空间是BGR而非常用的FGB。 import cv2 imgcv2.imread(F:\Image\test1.jpg,cv2.IMREAD_COLOR) cv2.imshow(图片名字,img) cv2.waitKey(0) #保存图片 cv2.imwrite(图片文件.png,img) #第一个参数是保存图片文件的名字第二个是后缀OpenCV图像缩放 当数据集的图像大小不一样时我们就需要用到图像缩放使所有的图片大小保持一致函数时cv2.resize()第一个参数是目标图像第二个参数是缩减比例。 import cv2 import numpy as np #读取图片 imgcv2.imread(F:\Image\test2.jpg,cv2.IMREAD_COLOR) cv2.imshow(原有的图片,img) #进行缩放 imgcv2.resize(img,(1000,1000)) #比例放缩10001000 #显示图片 cv2.imshow(图片缩放,img) cv2.waitKey(0)OpenCV图像裁剪 普通图像的裁剪非常简单由于读取的图像存储方式时矩阵所以我们只需取矩阵的一部分就完成了裁剪。 import numpy as np import cv2 imgcv2.imread(F:\Image\test3.jpg,cv2.IMREAD_COLOR) cv2.imshow(裁剪前,img) patchimg[0:50,0:50] #取左上角50x50小块 cv2.imshow(裁剪过后的图片,patch) cv2.waitKey(0) 当然虽然我们不知道图片的大小所以裁剪的时候很麻烦这时我们就可以随机裁剪l利用random模块 import numpy as np import cv2 import random imgcv2.imread(F:\Image\test3.jpg,cv2.IMREAD_COLOR) #得到图像形状 w,h,dimg.shape cv2.imshow(裁剪前,img) xrandom.randint(0,w) yrandom.randint(0,h) patchimg[x:w,y:h] #取左上角50x50小块 cv2.imshow(裁剪过后的图片,patch) cv2.waitKey(0) OpenCV图像旋转 图像旋转也是重要的操作当图像的方向为非水平方向时就需要通过旋转成水平方向。 在OpenCV中图像旋转有两种实现方式 第一种主要通过仿射变换所用函数为cv2.warpAffine()此函数有三个参数分别为需要旋转的图像仿射变换矩阵以及输出图像的大小。 仿射变换也称仿射映射是指一个向量空间通过一次线性变换后变为另一个空间。可以用如下公式表示 其中矩阵A表示旋转与缩放向量b表示平移。 (1)旋转变换顺时针旋转 (2)缩放变换水平方向为a倍竖直方向变为b倍。 代码展示 import numpy as np import cv2 imgcv2.imread(F:\Image\test4.jpg,cv2.IMREAD_COLOR) w,h,dimg.shape #放射变换矩阵 Mnp.array([[0,0.5,-10],[0.5,0,0]]) #旋转图片 img1cv2.warpAffine(img,M,(w,h)) #显示图片 cv2.imshow(图片旋转,img) cv2.waitKey(0) 第二种使用OpenCV内置函数所用的函数为cv2.getRotationMatrix2D()此函数共三个参数分别为图片旋转中心逆时针旋转角度以及缩放的倍数。和裁剪一样这里也可以使用random()实现随机选择和平移功能。 import numpy as np import cv2 imgcv2.imread(F:\Image\test4.jpg,cv2.IMREAD_COLOR) img1cv2.getRotationMatrix2D((1,1),90,1) cv2.imshow(图片旋转,img1) cv2.waitKey(0) 从摄像头读取 OpenCV不仅能对图像进行处理还能对视频进行处理我们也可以直接调用摄像头进行计算机获取视频。函数是cv2.VideoCapture()函数此函数只有一个参数0为计算机摄像头1为其他来源。 import cv2 import numpy as np capturecv2.VideoCapture(0) while(True):#读取一帧ret,framecapture.read()#显示一帧 cv2.imshow(capture,frame) #关闭摄像头 capture.release() 读取视频后可以用cv2.VideoWriter()函数创建视频保存器即可。和读取的时候一样也需要一帧一帧的保存使用从cv2.putText()函数可选参数为帧名称帧标题标题位于左上角坐标字体字体大小颜色字体粗细。 #从摄像头读取并保存录像 import cv2 import numpy as np #创建摄像头 capturecv2.VideoCapture(0) #帧率 fps60 #保存格式mp4 fourcccv2.VideoWriterfourcc(*mp4v) #创建保存器 voutcv2.VideoWriter() vout.open(F:\Image\temp.mp4,fourcc,fps,(1280,720),True) #读取一帧并保存 for i in range(100):,framecapture.read()cv2.putText(frame,str(i),(10,20),cv2.FONT_HERSHEY_PLAIN,1,(0,255,0),1,cv2.LINE_AA)vout.write(frame) #释放资源 vout.release() capture.release()这样就可以实现对摄像头的调用。你就可以知道谁打开了你的电脑。 矩阵操作 add 矩阵加法AB的更高级形式支持mask scaleAdd 矩阵加法一个带有缩放因子dst(I) scale * src1(I) src2(I) addWeighted 矩阵加法两个带有缩放因子dst(I) saturate(src1(I) * alpha src2(I) * beta gamma) subtract 矩阵减法A-B的更高级形式支持mask multiply 矩阵逐元素乘法同Mat::mul()函数与A*B区别支持mask gemm 一个广义的矩阵乘法操作 divide 矩阵逐元素除法与A/B区别支持mask abs 对每个元素求绝对值 absdiff 两个矩阵的差的绝对值 exp 求每个矩阵元素 src(I) 的自然数 e 的 src(I) 次幂 dst[I] esrc(I) pow 求每个矩阵元素 src(I) 的 p 次幂 dst[I] src(I)p log 求每个矩阵元素的自然数底 dst[I] log|src(I)| (if src ! 0) sqrt 求每个矩阵元素的平方根 min, max 求每个元素的最小值或最大值返回这个矩阵 dst(I) min(src1(I), src2(I)), max同 minMaxLoc 定位矩阵中最小值、最大值的位置 compare 返回逐个元素比较结果的矩阵 bitwise_and, bitwise_not, bitwise_or, bitwise_xor 每个元素进行位运算分别是和、非、或、异或 cvarrToMat 旧版数据CvMat,IplImage,CvMatND转换到新版数据Mat extractImageCOI 从旧版数据中提取指定的通道矩阵给新版数据Mat randu 以Uniform分布产生随机数填充矩阵同 RNG::fill(mat, RNG::UNIFORM) randn 以Normal分布产生随机数填充矩阵同 RNG::fill(mat, RNG::NORMAL) randShuffle 随机打乱一个一维向量的元素顺序 theRNG() 返回一个默认构造的RNG类的对象 theRNG()::fill(…) reduce 矩阵缩成向量 repeat 矩阵拷贝的时候指定按x/y方向重复 split 多通道矩阵分解成多个单通道矩阵 merge 多个单通道矩阵合成一个多通道矩阵 mixChannels 矩阵间通道拷贝如Rgba[]到Rgb[]和Alpha[] sort, sortIdx 为矩阵的每行或每列元素排序 setIdentity 设置单元矩阵 completeSymm 矩阵上下三角拷贝 inRange 检查元素的取值范围是否在另两个矩阵的元素取值之间返回验证矩阵 checkRange 检查矩阵的每个元素的取值是否在最小值与最大值之间返回验证结果bool sum 求矩阵的元素和 mean 求均值 meanStdDev 均值和标准差 countNonZero 统计非零值个数 cartToPolar, polarToCart 笛卡尔坐标与极坐标之间的转换 flip 矩阵翻转 transpose 矩阵转置比较 Mat::t() AT trace 矩阵的迹 determinant 行列式 |A|, det(A) eigen 矩阵的特征值和特征向量 invert 矩阵的逆或者伪逆比较 Mat::inv() magnitude 向量长度计算 dst(I) sqrt(x(I)2 y(I)2) Mahalanobis Mahalanobis距离计算 phase 相位计算即两个向量之间的夹角 norm 求范数1-范数、2-范数、无穷范数 normalize 标准化 mulTransposed 矩阵和它自己的转置相乘 AT * A, dst scale(src - delta)T(src - delta) convertScaleAbs 先缩放元素再取绝对值最后转换格式为8bit型 calcCovarMatrix 计算协方差阵 solve 求解1个或多个线性系统或者求解最小平方问题(least-squares problem) solveCubic 求解三次方程的根 solvePoly 求解多项式的实根和重根 dct, idct 正、逆离散余弦变换idct同dct(src, dst, flags | DCT_INVERSE) dft, idft 正、逆离散傅立叶变换, idft同dft(src, dst, flags | DTF_INVERSE) LUT 查表变换 getOptimalDFTSize 返回一个优化过的DFT大小 mulSpecturms 两个傅立叶频谱间逐元素的乘法 好了本节的内容就到此结束了简单的解释了一下opencv后续内容会继续更新的关注博主持续更新不迷路。拜了个拜。
- 上一篇: 电子商务网站建设体会html5从入门到精通
- 下一篇: 电子商务网站建设网室内设计师网站十大网站
相关文章
-
电子商务网站建设体会html5从入门到精通
电子商务网站建设体会html5从入门到精通
- 技术栈
- 2026年03月21日
-
电子商务网站建设思维导图企业网站建设的原则
电子商务网站建设思维导图企业网站建设的原则
- 技术栈
- 2026年03月21日
-
电子商务网站建设属性河北建设工程信息网官网首页
电子商务网站建设属性河北建设工程信息网官网首页
- 技术栈
- 2026年03月21日
-
电子商务网站建设网室内设计师网站十大网站
电子商务网站建设网室内设计师网站十大网站
- 技术栈
- 2026年03月21日
-
电子商务网站建设需求分析报告学做网站买什么样的书
电子商务网站建设需求分析报告学做网站买什么样的书
- 技术栈
- 2026年03月21日
-
电子商务网站建设需要哪些步骤wordpress 4.5 中文404
电子商务网站建设需要哪些步骤wordpress 4.5 中文404
- 技术栈
- 2026年03月21日






