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

郑州高端定制建设网站广州天河区有哪些大学

郑州高端定制建设网站,广州天河区有哪些大学,网站建设怎样去销售,wordpress网站vip可看图像腐蚀目的 去除图像中微小物体 分离较近的两个物体 我们对图像中所有米粒进行二值化处理#xff0c;之后进行连通域分割以求去整个图像中共用多少米粒#xff0c;处理结果在可以发现#xff0c;在上图中有一小块区域上有个小点#xff08;非米粒#xff09;#xff…图像腐蚀目的 ·去除图像中微小物体 ·分离较近的两个物体 我们对图像中所有米粒进行二值化处理之后进行连通域分割以求去整个图像中共用多少米粒处理结果在可以发现在上图中有一小块区域上有个小点非米粒也被视为有数值的情况 。通过图像腐蚀操作就可以将这个微笑区域腐蚀掉从而得到正确结果。 若图像中有两个非常近的圆这两个圆在像素中并没有连接在一起但是由于像素离得近有可能会误认为两个区域为一个区域那么通过图像腐蚀就可以将这两个物体尽可能拉大距离从而较为明显的去分割出两个物体。 图像腐蚀原理 首先给出一个结构元素结构元素可以任意指定这里以十字型结构为例图像的腐蚀常用于对二值化的图像进行处理 将此结构元素放置在原图像中像素值为1的区域我们将结构元素的中心像素放在A区域得到如下形式: 我们可以看到有部分元素被结构元素覆盖还有部分元素没有被覆盖这种情况我们就将像素A删除之后将结构元素平移如下: 同样还有没有被结构元素覆盖的情况因此也许要将此像素1删除依次进行此操作可以看到当把结构元素放置到B时能够把所有像素进行覆盖那么此时就保留B将像素B 放置在腐蚀结果中 。 依次移动结构元素将结构元素的中心依次覆盖在原图像中所有非0像素中那么最终可得到右图所示腐蚀后结果。整个图像腐蚀操作是一个并行运算的程序。 结构元素生成函数 getStructuringElement()  void cv::getStructuringElement(Int shape,Size ksize,Point anchor Point(-1,-1)) ·shape:结构元素的种类。 ·ksize:结构元素的尺寸大小。 ·anchor:中心点的位置默认参数为结构元素的几何中心。 图像腐蚀操作函数 erode()  void cv::erode(InputArray src,OutputArray dst,InputArray kernel,Point anchor Point(-1,-1),int iterations 1,int borderType BORDER_CONSTANT,const Scalar borderValue morphologyDefaultBorderValue()) ·src:输入的待腐蚀图像图像的通道数可以是任意的但是图像的数据类型必须是CV_8U,CV_16UCV_16S,CV_32F,CV_64F之一。 ·dst:腐蚀后的输出图像与输入图像src具有相同的尺寸和数据类型。 ·kernel:用于腐蚀操作的结构元素可以自己输入也可以用getStructuringElement()函数生成。 ·anchor:中心点在结构元素中的位置默认参数为结构元素的几何中心点。 ·iterations:腐蚀的次数。默认情况是腐蚀1次。 ·borderType:像素外推法选择标志。 ·borderValue:边界不变的边界值。若图像尺寸较小要额外注意最后两个参数的选择。 示例 #include opencv2/opencv.hpp #include iostream #include vectorusing namespace cv; //opencv的命名空间 using namespace std;//绘制包含区域函数 void drawState(Mat img, int number, Mat centroids, Mat stats, String str) {RNG rng(10086); //RNG用来生成随机数这里用了10086进行初始化。vectorVec3b colors; //vector是一个能够存放任意类型的动态数组,Vec3b可以看成vectoruchar,3即一个uchar类型长度为3的vector向量(简单地说就是一个uchar类型的数组长度为3).for (int i 0; i number; i);{//使用均匀分布的随机数确定颜色rng.uniform(),可以生成指定范围的均匀分布的随机数Vec3b vec3 Vec3b(rng.uniform(0, 256), rng.uniform(0, 256), rng.uniform(0, 256));colors.push_back(vec3);}//以不同的颜色标记出不同的连通域for (int i 1; i number; i){//中心位置int center_x centroids.atdouble(i, 0);int center_y centroids.atdouble(i, 1);//矩形边框int x stats.atint(i, CC_STAT_LEFT);int y stats.atint(i, CC_STAT_TOP);int w stats.atint(i, CC_STAT_WIDTH);int h stats.atint(i, CC_STAT_HEIGHT);//中心位置绘制circle(img, Point(center_x, center_y), 2, Scalar(0, 255, 0), 2, 8, 0);//外接矩形Rect rect(x, y, w, h);rectangle(img, rect, colors[i], 1, 8, 0);putText(img, format(%d, i), Point(center_x, center_y), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 0, 255), 1);}imshow(str, img); }//主函数 int main() {//生成用于腐蚀的原图像Mat src (Mat_uchar(6, 6) 0, 0, 0, 0, 255, 0,0, 255, 255, 255, 255, 255,0, 255, 255, 255, 255, 0,0, 255, 255, 255, 255, 0,0, 255, 255, 255, 255, 0,0, 0, 0, 0, 0, 0);Mat struct1, struct2;struct1 getStructuringElement(0, Size(3, 3));//矩形结构元素struct2 getStructuringElement(1, Size(3, 3));//十字型结构元素Mat erodeSrc; //存放腐蚀后的图像erode(src, erodeSrc, struct2);namedWindow(src, WINDOW_GUI_NORMAL);namedWindow(erodeSrc, WINDOW_GUI_NORMAL);imshow(src, src);imshow(erodeSrc, erodeSrc);cout 文字腐蚀验证 endl;waitKey(0);//等待函数用于显示图像,按下键盘任意键后退出Mat LearnCV_black imread(E:/opencv/opencv-4.6.0-vc14_vc15/opencv/LearnCV_black.png);Mat erode_black1, erode_black2;//黑背景图像腐蚀erode(LearnCV_black, erode_black1, struct1);erode(LearnCV_black, erode_black2, struct2);imshow(LearnCV_black, LearnCV_black);imshow(erode_balck1, erode_black1);imshow(erode_black2, erode_black2);cout 验证腐蚀对小连通域的去除 endl;waitKey(0);//等待函数用于显示图像,按下键盘任意键后退出Mat img imread(E:/opencv/opencv-4.6.0-vc14_vc15/opencv/hua.jpeg);if (img.empty()){cout 请检查图像文件名称是否正确 endl;return -1;}Mat img2;copyTo(img, img2, img); //克隆一个单独的图像用于后期图像检测Mat hua, huaBW;//把图像转为二值图像用于统计连通域cvtColor(img, hua, COLOR_BGR2GRAY);threshold(hua, huaBW, 50, 255, THRESH_BINARY);Mat out, stats, centroids;//统计图像中连通域的个数int number connectedComponentsWithStats(huaBW, out, stats, centroids, 8, CV_16U);drawState(img, number, centroids, stats, 未腐蚀时统计连通域);//绘制图像erode(huaBW, huaBW, struct1);//对图像矩形腐蚀number connectedComponentsWithStats(huaBW, out, stats, centroids, 8, CV_16U);drawState(img2, number, centroids, stats, 腐蚀后统计连通域); //绘制图像waitKey(0);//等待函数用于显示图像,按下键盘任意键后退出return 0;}结果
http://www.pierceye.com/news/317649/

相关文章:

  • dede 网站版权信息互联网平面设计
  • 可以做试卷的网站看书网站排名
  • seo网站关键词优化排名鄂州市网站
  • 哈尔滨网站域名归那里管网页版qq登录入口官网手机
  • 深圳建网站公司哪家好wordpress 采集系统
  • 网站发布与推广广州品牌网站设计公司
  • 帮忙做公司网站淘宝运营培训多少钱
  • 湘潭网站建设搭建WordPress多条件搜索
  • 信息技术 网站建设教案官网定制
  • 丽水专业网站建设公司淘宝美工培训推荐
  • 如何比较网站小程序商城开发平台
  • 品牌推广宣传词seo整站优化更能准确获得客户
  • 五八同城找工作招聘信息seo服务如何收费
  • 冒充it男给某网站做修复欧美专业牙科医院网站网页源码
  • 搭建网站需要做什么大型 视频网站开发
  • 济南招考院网站网站建设需要些什么东西
  • 手机怎么搭建网站厦门 做网站
  • 网站底部友情链接典型十大优秀网络营销案例
  • 公司装修工程免费推广软件平台seo博客
  • 树状结构的网站一个人可以做多少网站
  • 什么网站是专门做评论赚钱的响应式网站标准尺寸
  • 梅州市建设培训中心网站济南网上房地产
  • 海口网站提升排名专业做公司logo的网站
  • fm网站开发做网站自动赚钱
  • 网站二级导航制作wordpress找人做
  • 网站建设市场占有率网站开发工程师的职责
  • wordpress 单本小说站做网站前景
  • 只做网站可以在百度里收到吗平面设计是干嘛的
  • 义乌网站建设优化推广网站开发需要哪些人怎么分工
  • 关键词排行优化网站企业seo外包