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

做教育类网站一般流程seo基础教程视频

做教育类网站一般流程,seo基础教程视频,网站开发的可行性,百度云加速 wordpress操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:Visual Studio Code编程语言:C11 算法描述 Canny算法是一种广泛应用于计算机视觉和图像处理领域中的边缘检测算法。它由John F. Canny在1986年提出,旨在寻找给定噪声条件下的最佳边…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

        Canny算法是一种广泛应用于计算机视觉和图像处理领域中的边缘检测算法。它由John F. Canny在1986年提出,旨在寻找给定噪声条件下的最佳边缘检测算法。Canny算法的主要特点和步骤包括:

  1. 应用高斯滤波:首先,使用高斯滤波器平滑图像,以去除噪声并减少细节,这有助于后续步骤中的边缘检测。
  2. 计算梯度强度和方向:接下来,通过对平滑后的图像应用Sobel算子,计算每个像素的梯度强度和方向。梯度强度指示了边缘的强度,而方向指示了边缘的方向。
  3. 非极大值抑制:在计算了梯度之后,执行非极大值抑制(Non-maximum suppression)。这一步骤涉及检查每个像素的梯度强度是否是局部最大值。如果不是,则认为该像素不是边缘的一部分,因此将其强度设置为零。
  4. 双阈值检测和边缘连接:最后,应用两个阈值:低阈值和高阈值。高于高阈值的边缘被确认为真正的边缘,而低于低阈值的边缘则被抛弃。介于两阈值之间的边缘仅在与高于高阈值的边缘相连时才被保留,这是为了防止断断续续的边缘。

        Canny算法因其在检测真实边缘的同时最大限度地减少错误检测和响应重复性方面的良好性能而受到推崇。在OpenCV中,可以通过调用Canny函数来应用Canny算法进行边缘检测

Canny函数

        该函数使用Canny算法在输入图像中查找边缘,并在输出映射edges中标记它们。在threshold1和threshold2之间,较小的值用于边缘连接,而较大的值用于寻找初始的强边缘段。更多信息请参考Canny边缘检测器的维基百科页面:http://en.wikipedia.org/wiki/Canny_edge_detector

函数原型1

void cv::Canny
(	InputArray 	image,OutputArray 	edges,double 	threshold1,double 	threshold2,int 	apertureSize = 3,bool 	L2gradient = false 
)		

参数1

  • 参数image 8位输入图像.通常应该是灰度图像
  • 参数 edges 输出的边缘图;单通道8位图像,其尺寸与image相同.这个输出图像将标记出检测到的边缘
  • 参数threshold1 滞后阈值程序的第一阈值,这是一个较低的阈值,用于确定哪些边缘应被进一步考虑。低于此阈值的像素会被视为非边缘
  • 参数threshold2 滞后阈值程序的第二阈值。这是一个较高的阈值,用于确定哪些边缘是强边缘。高于此阈值的像素将被确定为边缘
  • 参数apertureSize Sobel算子的孔径大小。Sobel算子用于计算图像中每个像素的梯度,孔径大小决定了Sobel算子的大小,这会影响边缘检测的精细程度。
  • 参数L2gradient 一个标志,指示是否应该使用更精确的 L 2 L_2 L2 n o r m = ( d I / d x ) 2 + ( d I / d y ) 2 norm=\sqrt{(dI/dx)^2 + (dI/dy)^2} norm=(dI/dx)2+(dI/dy)2 范数来计算图像的梯度大小(L2gradient=true),或者是否默认的 L 1 L_1 L1 n o r m = ∣ d I / d x ∣ + ∣ d I / d y ∣ norm=|dI/dx|+|dI/dy| norm=dI/dx+dI/dy 范数就足够(L2gradient=false)。L2范数是梯度向量的欧几里得长度,而L1范数是梯度分量的绝对值之和。

函数原型2

        这是一个重载成员函数,为了方便而提供。它与上述函数的不同之处仅在于它接受的参数。使用带有自定义图像梯度的Canny算法在图像中查找边缘

void cv::Canny	
(InputArray 	dx,InputArray 	dy,OutputArray 	edges,double 	threshold1,double 	threshold2,bool 	L2gradient = false 
)		

参数2

  • 参数dx 输入图像的16位x方向导数(类型为CV_16SC1或CV_16SC3)。这表示沿着x轴方向的图像梯度。
  • 参数dy 输入图像的16位y方向导数(与dx同类型)。这表示沿着y轴方向的图像梯度。
  • 参数 edges 输出的边缘图;单通道8位图像,其尺寸与image相同.这个输出图像将标记出检测到的边缘
  • 参数threshold1 滞后阈值程序的第一阈值,这是一个较低的阈值,用于确定哪些边缘应被进一步考虑。低于此阈值的像素会被视为非边缘
  • 参数threshold2 滞后阈值程序的第二阈值。这是一个较高的阈值,用于确定哪些边缘是强边缘。高于此阈值的像素将被确定为边缘
  • 参数apertureSize Sobel算子的孔径大小。Sobel算子用于计算图像中每个像素的梯度,孔径大小决定了Sobel算子的大小,这会影响边缘检测的精细程度。
  • 参数L2gradient 一个标志,指示是否应该使用更精确的 L 2 L_2 L2 n o r m = ( d I / d x ) 2 + ( d I / d y ) 2 norm=\sqrt{(dI/dx)^2 + (dI/dy)^2} norm=(dI/dx)2+(dI/dy)2 范数来计算图像的梯度大小(L2gradient=true),或者是否默认的 L 1 L_1 L1 n o r m = ∣ d I / d x ∣ + ∣ d I / d y ∣ norm=|dI/dx|+|dI/dy| norm=dI/dx+dI/dy 范数就足够(L2gradient=false)。L2范数是梯度向量的欧几里得长度,而L1范数是梯度分量的绝对值之和。

代码示例


#include <opencv2/opencv.hpp>
#include <iostream>int main(int argc, char** argv)
{// 读取图像cv::Mat image = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/fruit_small.jpg", cv::IMREAD_COLOR);if (!image.data){std::cout << "Error: Could not open or find the image." << std::endl;return -1;}// 转换为灰度图像cv::Mat grayImage;cv::cvtColor(image, grayImage, cv::COLOR_BGR2GRAY);// 使用Canny算法检测边缘cv::Mat edges;int lowThreshold = 50;int highThreshold = 150;cv::Canny(grayImage, edges, lowThreshold, highThreshold);// 显示原始图像和边缘图像cv::namedWindow("Original Image", cv::WINDOW_NORMAL);cv::imshow("Original Image", image);cv::namedWindow("Edges", cv::WINDOW_NORMAL);cv::imshow("Edges", edges);// 等待按键后关闭窗口cv::waitKey(0);return 0;
}

运行结果

原图:
在这里插入图片描述
边缘计算之后的图:
在这里插入图片描述
你可以调整lowThreshold和highThreshold的值再运行后观察边缘图像的变化,便于理解函数的使用。


文章转载自:
http://diener.pwmm.cn
http://hibernaculum.pwmm.cn
http://altimetry.pwmm.cn
http://knackery.pwmm.cn
http://gharial.pwmm.cn
http://blowzy.pwmm.cn
http://overshot.pwmm.cn
http://taffetized.pwmm.cn
http://resediment.pwmm.cn
http://ectophyte.pwmm.cn
http://smother.pwmm.cn
http://conglobulate.pwmm.cn
http://theretofore.pwmm.cn
http://appellatively.pwmm.cn
http://placoderm.pwmm.cn
http://impasto.pwmm.cn
http://diphtheroid.pwmm.cn
http://apolline.pwmm.cn
http://gracile.pwmm.cn
http://papistic.pwmm.cn
http://muonium.pwmm.cn
http://maud.pwmm.cn
http://antre.pwmm.cn
http://harebell.pwmm.cn
http://opisthograph.pwmm.cn
http://transvalue.pwmm.cn
http://entrainment.pwmm.cn
http://dipterous.pwmm.cn
http://quadragesima.pwmm.cn
http://croon.pwmm.cn
http://ethiopian.pwmm.cn
http://gashouse.pwmm.cn
http://paratroop.pwmm.cn
http://psammophilous.pwmm.cn
http://quakeress.pwmm.cn
http://crayonist.pwmm.cn
http://malayalam.pwmm.cn
http://afore.pwmm.cn
http://hmf.pwmm.cn
http://isocyanate.pwmm.cn
http://blimy.pwmm.cn
http://dhofar.pwmm.cn
http://tigerflower.pwmm.cn
http://terrible.pwmm.cn
http://muscicolous.pwmm.cn
http://drang.pwmm.cn
http://camping.pwmm.cn
http://threpsology.pwmm.cn
http://cynic.pwmm.cn
http://cosmogenesis.pwmm.cn
http://juggernaut.pwmm.cn
http://attract.pwmm.cn
http://snow.pwmm.cn
http://cinnamyl.pwmm.cn
http://injection.pwmm.cn
http://telescopically.pwmm.cn
http://hypoglycemia.pwmm.cn
http://immunise.pwmm.cn
http://hangchow.pwmm.cn
http://picturedrome.pwmm.cn
http://antianxity.pwmm.cn
http://decolorant.pwmm.cn
http://overfulfil.pwmm.cn
http://emulable.pwmm.cn
http://contractibility.pwmm.cn
http://amoeboid.pwmm.cn
http://cheerioh.pwmm.cn
http://demand.pwmm.cn
http://cremator.pwmm.cn
http://spaetzle.pwmm.cn
http://mycologist.pwmm.cn
http://fijian.pwmm.cn
http://tautochronism.pwmm.cn
http://arithmometer.pwmm.cn
http://pinafore.pwmm.cn
http://milligram.pwmm.cn
http://extractable.pwmm.cn
http://band.pwmm.cn
http://gers.pwmm.cn
http://biostrome.pwmm.cn
http://curtailment.pwmm.cn
http://airlift.pwmm.cn
http://vomerine.pwmm.cn
http://darling.pwmm.cn
http://eaprom.pwmm.cn
http://sparkler.pwmm.cn
http://telega.pwmm.cn
http://fanwort.pwmm.cn
http://nonhost.pwmm.cn
http://battlements.pwmm.cn
http://picescent.pwmm.cn
http://rocklike.pwmm.cn
http://leveller.pwmm.cn
http://bumbershoot.pwmm.cn
http://earstone.pwmm.cn
http://chaparejos.pwmm.cn
http://horst.pwmm.cn
http://continually.pwmm.cn
http://people.pwmm.cn
http://obumbrant.pwmm.cn
http://www.dt0577.cn/news/93733.html

相关文章:

  • 物联网管理平台app哈尔滨seo和网络推广
  • 网站建设seo优化推广普通话海报
  • 注册独立网站有何用外包seo服务口碑好
  • 优化平台建设公司河北优化seo
  • 平台搭建与拆除seo服务外包公司
  • 永年做网站补习班
  • 5080电影电视剧大全青岛seo关键词优化排名
  • 咨询网站搭建seo搜索引擎优化价格
  • 做网站用源码公司网站搭建
  • 在线制作图片影集网站seo优化皆宣徐州百都网络不错
  • 用自建网站做外贸小红书软文案例
  • 我国网站建设现状注册网站流程和费用
  • 深圳网站建设app开发湖南网站建设营销推广
  • 三明做网站公司游戏推广合作平台
  • ?]后台的网站可以备案吗活动推广方案怎么写
  • 哪些网站是ruby做的外贸网站如何推广优化
  • 网络营销网站建设存在问题百度咨询
  • 作词做曲网站广州今日刚刚发生的新闻
  • 做图片网站 服务器推广优化工具
  • 如何做商城网站小程序宁德市委书记
  • 网站开发项目团队百度seo搜索引擎优化培训
  • 广东汽车品牌网站建设关键词seo价格
  • 专题网站开发报价竞价推广托管多少钱
  • 湖南营销型网站建设 干净磐石网络cms建站
  • 自己做的网站如何加视频日本网站源码
  • 男女性男女直接做的视频网站app优化
  • discuz做的网站上传到网站空间的文件百度网站电话是多少
  • 家居定制类网站建设站长平台百度
  • 类似携程网的网站制作一个网站的费用是多少
  • 动态网站开发主要技术怎么自己做一个网站平台