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

厦门网站开发wordpress 更新用户名

厦门网站开发,wordpress 更新用户名,网站模板制作步骤,装修公司怎么联系OpenCV基础 threshold函数的使用 https://blog.csdn.net/u012566751/article/details/77046445 图像的二值化就是将图像上的像素点的灰度值设置为0或255#xff0c;这样将使整个图像呈现出明显的黑白效果。在数字图像处理中#xff0c;二值图像占有非常重要的地位#xff0…OpenCV基础 threshold函数的使用 https://blog.csdn.net/u012566751/article/details/77046445 图像的二值化就是将图像上的像素点的灰度值设置为0或255这样将使整个图像呈现出明显的黑白效果。在数字图像处理中二值图像占有非常重要的地位图像的二值化使图像中数据量大为减少从而能凸显出目标的轮廓。OpenCV中提供了函数cv::threshold(); 距离变换distanceTransform应用——查找物体质心细化字符轮廓 https://www.cnblogs.com/mtcnn/p/9411967.html distanceTransform方法的功能 用于计算图像中每一个非零点距离离自己最近的零点的距离distanceTransform的第二个Mat矩阵参数dst保存了每一个点与最近的零点的距离信息图像上越亮的点代表了离零点的距离越远。 一、查找物体质心 C #include core/core.hpp #include imgproc/imgproc.hpp #include highgui/highgui.hppusing namespace cv;int main(int argc,char *argv[]) {float maxValue0; //定义距离变换矩阵中的最大值Point Pt(0,0);Mat imageimread(argv[1]);Mat imageGray;cvtColor(image,imageGray,CV_RGB2GRAY);imageGray~imageGray; //取反GaussianBlur(imageGray,imageGray,Size(5,5),2); //滤波threshold(imageGray,imageGray,20,200,CV_THRESH_BINARY); //阈值化 Mat imageThin(imageGray.size(),CV_32FC1); //定义保存距离变换结果的Mat矩阵distanceTransform(imageGray,imageThin,CV_DIST_L2,3); //距离变换Mat distShow;distShowMat::zeros(imageGray.size(),CV_8UC1); //定义细化后的字符轮廓for(int i0;iimageThin.rows;i){for(int j0;jimageThin.cols;j){distShow.atuchar(i,j)imageThin.atfloat(i,j);if(imageThin.atfloat(i,j)maxValue){maxValueimageThin.atfloat(i,j); //获取距离变换的极大值PtPoint(j,i); //坐标}}}normalize(distShow,distShow,0,255,CV_MINMAX); //为了显示清晰做了0~255归一化circle(image,Pt,maxValue,Scalar(0,0,255),3); circle(image,Pt,3,Scalar(0,255,0),3);imshow(Source Image,image);imshow(Thin Image,distShow);waitKey();return 0; }1.原始图片 2.经过距离变换后距离Mat矩阵dst 为了显示清晰做了0~255的归一化。可以看到中心处最亮说明了中心点距离零点的距离最远而最远处就可以作为物体的质心。 3.标记质心绿色点 二、细化轮廓 C: #include core/core.hpp #include imgproc/imgproc.hpp #include highgui/highgui.hppusing namespace cv;int main(int argc,char *argv[]) {float maxValue0; //定义距离变换矩阵中的最大值Mat imageimread(argv[1]);Mat imageGray;cvtColor(image,imageGray,CV_RGB2GRAY);imageGray~imageGray; //取反GaussianBlur(imageGray,imageGray,Size(5,5),2); //滤波threshold(imageGray,imageGray,20,200,CV_THRESH_BINARY); //阈值imshow(s,imageGray);Mat imageThin(imageGray.size(),CV_32FC1); //定义保存距离变换结果的Mat矩阵distanceTransform(imageGray,imageThin,CV_DIST_L2,3); //距离变换Mat distShow;distShowMat::zeros(imageGray.size(),CV_8UC1); //定义细化后的字符轮廓for(int i0;iimageThin.rows;i){for(int j0;jimageThin.cols;j){if(imageThin.atfloat(i,j)maxValue){maxValueimageThin.atfloat(i,j); //获取距离变换的极大值}}}for(int i0;iimageThin.rows;i){for(int j0;jimageThin.cols;j){if(imageThin.atfloat(i,j)maxValue/1.9){distShow.atuchar(i,j)255; //符合距离大于最大值一定比例条件的点设为255}}}imshow(Source Image,image);imshow(Thin Image,distShow);waitKey();return 0; }1.原始图像 2.细化效果 形态学操作之腐蚀与膨胀 https://blog.csdn.net/qq_42856191/article/details/123663533 一、腐蚀erosion 1.1 什么是腐蚀 简单来说腐蚀就是把图像中的物体变小了用背景去侵蚀前景 腐蚀的工作过程如下图所示A是一个集合B是一个结构单元我们使用B去对集合A进行腐蚀腐蚀过程如C所示在腐蚀过程中结构单元必须全部位于集合A中才能进行腐蚀操作最终得到的结果即为D所示。 Python import cv2 import numpy as npori cv2.imread(rC:\Users\Lenovo\Desktop\original.jpg) # 读取图像kernel1 np.ones((3, 3), np.uint8) # 3个不同尺度的腐蚀单元 kernel2 np.ones((5, 5), np.uint8) kernel3 np.ones((7, 7), np.uint8)erosion1 cv2.erode(ori, kernel1) # 腐蚀函数 erosion2 cv2.erode(ori, kernel2) erosion3 cv2.erode(ori, kernel3)cv2.imshow(original, ori) cv2.imshow(erosion1, erosion1) cv2.imshow(erosion2, erosion2) cv2.imshow(erosion3, erosion3)cv2.imwrite(rC:\Users\Lenovo\Desktop\erosion1.jpg, erosion1) cv2.imwrite(rC:\Users\Lenovo\Desktop\erosion2.jpg, erosion2) cv2.imwrite(rC:\Users\Lenovo\Desktop\erosion3.jpg, erosion3)cv2.waitKey() 下面展示的是程序得到的结果图由图可知腐蚀能对图像中的毛刺进行去除但这也与腐蚀单元的大小有关3 × 3 3×33×3大小的核去除效果不如5 × 5 5×55×5与7 × 7 7×77×7此外7 × 7 7×77×7的核使得图像变得更加细小。 二、膨胀dilation 2.1 什么是膨胀 简单来说膨胀就是把图像中的物体变大了对前景进行膨胀 膨胀的工作过程如下图所示A是一个集合B是一个结构单元我们使用B去对集合A进行膨胀膨胀过程如C所示在膨胀过程中结构单元只要有一个位于集合A中就能进行膨胀操作最终得到的结果即为D所示。 Python: import cv2 import numpy as npori cv2.imread(rC:\Users\Lenovo\Desktop\original.jpg) # 读取图像kernel1 np.ones((3, 3), np.uint8) # 3个不同尺度的腐蚀单元 kernel2 np.ones((5, 5), np.uint8) kernel3 np.ones((9, 9), np.uint8)dilation1 cv2.dilate(ori, kernel1) # 膨胀函数 dilation2 cv2.dilate(ori, kernel2) dilation3 cv2.dilate(ori, kernel3)cv2.imshow(original, ori) cv2.imshow(dilation1, dilation1) cv2.imshow(dilation2, dilation2) cv2.imshow(dilation3, dilation3)cv2.imwrite(rC:\Users\Lenovo\Desktop\dilation1.jpg, dilation1) cv2.imwrite(rC:\Users\Lenovo\Desktop\dilation2.jpg, dilation2) cv2.imwrite(rC:\Users\Lenovo\Desktop\dilation3.jpg, dilation3)cv2.waitKey() 下面展示的是程序得到的结果图由图可知膨胀能对图像中的物体进行扩张但这也与膨胀单元的大小有关越大的膨胀核使得图像扩张区域更大。 形态学操作之开运算与闭运算 https://blog.csdn.net/qq_42856191/article/details/123670455 一、开运算 1.1 什么是开运算先腐蚀后膨胀的操作称为开运算。 1.2作用消除细小物体、在窄区域分离物体、平滑大物体边界等。 二、闭运算 2.1 什么是闭运算先膨胀后腐蚀的操作称为闭运算。 2.2作用填充物体空洞、消除噪声、连接邻近物体、平滑边界等。 图像分割 – 距离变换与分水岭算法硬币检测、扑克牌检测、车道检测 https://blog.csdn.net/great_yzl/article/details/119831771 以上述引用中的硬币检测为例子的分割过程 1.将RGB图片转换为灰度图 2.去噪 开运算先侵蚀后膨胀。会将两个物体之间可能存在的粘连噪点过滤并将前景物体扩大。 3.确定背景区域 对图片进行膨胀操作将前景扩大背景也会随之减小。那么此时对象原对象此时背景 原背景那么此时的背景自然可以确定为原背景的一部分。离对象中心很远的是背景 4.确定前景区域 原理距离变换在二值图中把对象缩小得到的就是原图的一部分可以确定为前景。 这种距离变换可以将前景中的不同实例分离距离变换后得到前景物体不同灰度值的像素通过threshold函数选定一个阈值来缩小前景物体中每个的大小从而达到将不同实例分离的效果。不分离的话可以不用距离变换只用腐蚀就够了 下图分别为img原始图片、opening膨胀后的图片、sure_fg距离变换后经过threshold阈值操作获得的确定前景实例
http://www.huolong8.cn/news/340573/

相关文章:

  • 域名和网站的关系挣钱最快的app
  • 南宁江南区网站制作多少钱网站建设项目简介
  • 网站被抄袭南阳那里有做网站的
  • 网站模版参考校园网站开发目的
  • 模板建站与仿站哪个更好网址查询入口
  • 专做机械类毕业设计的网站彩票网站建设教程
  • 建设专业网站的价格佛山建站专
  • 建立一个网站需要花多少钱高新西区网站建设
  • 有引导的网站网络推广公司代理
  • js特效做的好的网站信阳 网站建设
  • 网站格局asp.net网站配置文件
  • 长春火车站最新消息上海千途网站建设
  • 网站用php与asp哪个好wordpress 4.4.1下载
  • 长沙网站制作哪网站优化的文章
  • 高校英文网站建设 文献综述12306网站开发商
  • 微信建设网站哪家好印刷电商网站开发
  • 如何用文档创建一个网站网站平台建设调研报告
  • 网站营销推广计划书8上的信息课做网站作业
  • 用树莓派做网站服务器可以自己制作动画的app
  • 怎么用dw英文版做网站网站建设课设总结报告
  • 建设部网站内装修标准网站运营与规划
  • 陕西中小企业网站建设推广赣县城乡规划建设局网站
  • 大庆室内设计公司排名长沙网站优化页面
  • 大学网站开发实验室建设方案看空间网站
  • 电子商务网站开发 刘兰娟关于建设官方网站的申请
  • 上海浦东网站建设菏泽网站建设方案
  • 帮朋友免费做网站小程序端
  • 自己做网站生意怎么样品牌建设怎么写
  • 福鼎网站建设怎么创建自己的购物平台
  • 网站备案用英文flash做ppt的模板下载网站有哪些