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

自己做的网站怎么放视频可以免费观看电影的网站

自己做的网站怎么放视频,可以免费观看电影的网站,大连工业大学,邢台网站建设报价多少钱1.图像分割概述 (1)What(什么是图像分割) 将图像划分为不同的子区域#xff0c;使得同一子区域具有较高的相似性#xff0c;不同的子区域具有明显的差异性 (2)Why(对图像进行分割有什么作用) 医学领域#xff1a;将不同组织分割成不同区域帮助分析病情军事领域#xff…1.图像分割概述 (1)What(什么是图像分割) 将图像划分为不同的子区域使得同一子区域具有较高的相似性不同的子区域具有明显的差异性 (2)Why(对图像进行分割有什么作用) 医学领域将不同组织分割成不同区域帮助分析病情军事领域通过对图像的分割为自动目标识别提供参数为飞行器或武器的精准导航提供依据遥感领域通过遥感图像分析城市地貌、作物生长情况。此外云系分析和天气预报都离不开图像分割交通领域车辆跟踪和车牌识别工业领域零部件分类、质量评估等 (3)Which(有哪些图像分割的方法) 基于阈值的分割方法利用灰度直方图得到分割的阈值利用这些阈值将图像分为几个部分核心思想是认为同一部分的像素是同一个物体。基于边缘的分割方法检测图像的边界以实现对图像的分割基于区域的分割方法核心思想是将有相似特性的像素集合起来构成区域将差异性较大的区域进行分裂基于神经网络的分割方法这里不多赘言现在很火…基于聚类的分割方法依据像素相似度使用聚类算法将像素划分为不同类别 2.基于阈值的分割 (1)固定阈值分割 将图像分为两个部分黑和白两个区域 /*author 还下着雨ZG * brief 固定阈值图像分割 * param[in] imSrc, 待分割的图像 * param[out] imSegment, 分割后的图像 * param[in] threVal, 输入的阈值 * return, 返回正整数表示图像分割成功负整数表示失败 **/ int ImgSegmentByGlbThreVal(const cv::Mat imSrc, cv::Mat imSegment, int threVal) {if(imSrc.empty()) return -1;if(threVal0 || threVal255) return -2;// 图像预处理cv::Mat imGray;if(imSrc.channels()1) imGray imSrc.clone();else if(imSrc.channels() 3){cv::cvtColor(imSrc, imGray, cv::COLOR_RGB2GRAY);}else{return -3;}cv::GaussianBlur(imGray, imGray, cv::Size(3,3), 0);//全局阈值法cv::threshold(imGray, imSegment, threVal);return 1; }阈值分割函数threshold的介绍 double cv::threshold(cv::Mat imSrc, //输入图像应该为单通道cv::Mat imDst, //分割后的图像大小和类型和imSrc相同double thresh, //表示阈值double maxval, //最大灰度值一般设为255int type //阈值化类型详细介绍如下所示};参数type的介绍type是一个枚举类型的数据 THRESH_BINARY 0, // ( x thresh ) ? 255 : 0 THRESH_BINARY_INV 1, // ( x thresh ) ? 0 : 255 THRESH_TRUNC 2, // ( x thresh ) ? thresh : x THRESH_TOZERO 3, // ( x thresh ) ? 0 : x THRESH_TOZERO 4, // ( x thresh ) ? x : 0 THRESH_MASK 7, THRESH_OTSU 8, // 自动处理图像自适应二值化常用区间【0-255】 (2)自适应阈值分割 根据图像不同区域的亮度分布计算局部阈值对于图像的不同区域能够自适应计算不同阈值 void cv::adaptiveThreshold(cv::Mat imSrc, //输入的源图像cv::Mat imDst, //输出图像double maxval, //预设满足条件的最大值int adaptMethod, //指定自适应阈值算法类型ADAPTIVE_MEAN_C或ADAPTIVE_THRESH_GAUSSIAN_C两种int threshType, //阈值类型THRESH_BINARY或THRESH_BINARY_INVint blockSize, //领域块的大小用于计算区域阈值357 ...double C, //与算法有关的参数是一个从均值或加权均值提取的常数可为负);使用adaptiveThresh /*author 还下着雨ZG * brief 自适应阈值图像分割 * param[in] imSrc, 待分割的图像 * param[out] imSegment, 分割后的图像 * return, 返回正整数表示图像分割成功负整数表示失败 **/ int ImgSegmentByAdpThre(const cv::Mat imSrc, cv::Mat imSegment) {if (imSrc.empty()) return -1;cv::Mat imGray;if (imSrc.channels() 1){cv::copyTo(imSrc, imGray, cv::Mat());}else if (imSrc.channels() 3){cv::cvtColor(imSrc, imGray, cv::COLOR_RGB2GRAY);}else{return -2;}cv::GaussianBlur(imGray, imGray, cv::Size(3, 3), 0);int blockSize 3;int constValue 0;cv::adaptiveThreshold(imGray, imSegment, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, blockSize,constValue);return 1; }在实际使用时大部分是先通过算子寻找边缘然后和区域生长融合来分割图像 3.基于区域的分割 有相似特性的像素集合起来构成区域将差异性较大的区域进行分裂 (1)分水岭算法 A.What分水岭算法的概念 将图像看作是测地学上的拓扑地貌每一个像素的灰度值表示该点的海拔高度每一个局部极小值及其影响区域被称为盆地对应得边界形成分水岭。 每一个局部极小值表面刺穿一个小孔然后从小孔浸水随着浸入的加深每一个局部极小值的影响域慢慢向外扩展两个盆地间形成分水岭。 opencv提供的分水岭算法原型如下 void cv::watershed(cv::Mat imBGR, //三通道8bit的彩色图像);B.How如何使用分水岭算法对图像进行分割 step01: 图像预处理灰度化、滤波去噪等step02: Canny边缘检测step03: 查找轮廓findContours函数查找轮廓并把轮廓信息按照不同编号绘制到watershed的第二次参数markers上相当于标记注水点step04: watershed分水岭算法调用step05: 绘制分割出来的区域 /*author 还下着雨ZG * param[in] imSrc, 输入的源图像 * param[in] imMarks, 输出图像分割之后的结果 * return, 正整数表示成功负整数表示失败 */ int ImgDvdWatershed(const cv::Mat imSrc, cv::Mat imMarks) {//step01 图像预处理灰度滤波cv::Mat imGray;cv::Mat imGray;if (imSrc.channels() 1){cv::copyTo(imSrc, imGray, cv::Mat());}else if (imSrc.channels() 3){cv::cvtColor(imSrc, imGray, cv::COLOR_RGB2GRAY);}else {return -1;}cv::GaussianBlur(imGray, imGray, cv::Size(3, 3), 2); //高斯滤波//Step02 Canny边缘检测cv::Mat imEdg(imGray.size(), CV_8UC1);cv::Canny(imGray, imEdg, 40, 110);//Step03 查找轮廓并绘制轮廓std::vectorstd::vectorcv::Point vCnts;std::vectorcv::Vec4i hierarchy;cv::findContours(imEdg, vCnts, hierarchy, cv::RETR_TREE, cv::CHAIN_APPROX_SIMPLE);cv::Mat imContours;if (!imMarks.empty()){imMarks.release();}imMarks cv::Mat(imGray.size(), CV_32S, cv::Scalar::all(0));int iIdx 0;int compCount 0;for (; iIdx 0; iIdx hierarchy[iIdx][0], compCount){cv::drawContours(imMarks, vCnts, iIdx, cv::Scalar::all(compCount 1), 1, 8, hierarchy);cv::drawContours(imContours, vCnts, iIdx, cv::Scalar(255), 1, 8, hierarchy);}cv::Mat imRGB;if (imSrc.channels() 1){cv::cvtColor(imSrc, imRGB, cv::COLOR_GRAY2RGB);}else if (imSrc.channels() 3){imRGB imSrc.clone();}//Step04 调用分水岭算法cv::watershed(imRGB, imMarks);//marks既是输入参数又是输出参数imRGB.release();return 1; } 说明该函数输出参数imMarks图像同一区域用相同的数值标识分水岭用-1标识 (2)洪水填充法分割图像 该算法通常对边缘图像进行操作可用于分割出比较完整的外轮廓 int cv::floodFill(cv::Mat imSrc, //输入图像cv::Point seedPt, //填充的起始点cv::Scalar newVal, //填充的像素值cv::Rect *rect0, //将要重绘区域的最小边界矩形区域cv::Scalar loDiff cv::Scalar(), //像素值负差的最大值cv::Scalar upDiff cv::Scalar(), //像素值正差的最大值int flags 4 //操作标识符);
http://www.eeditor.cn/news/122158/

相关文章:

  • 网站建设报价word文档简答网站开发流程
  • 贵阳论坛网站建设简单网站建设 有教程视频
  • 网站生成手机版win7和wordpress
  • 张家港做网站优化价格坑梓网站建设哪家好
  • 做包装盒有哪些网站沈阳seo网站管理
  • 网站后台密码存在哪wordpress 汉化模版
  • 网站迁移到别的服务器要怎么做郑州网站建设及托管
  • 邯郸建站公司网站名称图标如何做才能显示
  • 苏州建站费用wordpress连接微博专业版v4.1
  • 东莞整合网站建设it培训机构包就业是啥套路
  • 一般购物网站怎么做推广网址无法打开网页是怎么回事
  • 提供网站推广公司电话对网站建设心得
  • 福州网站建设方案优化校园网站建设的优点
  • 怎样下载网站模板做seo的网站是怎么样的
  • 姑苏网站制作html5 移动网站
  • 北京网站搭建开发乐都企业网站建设哪家快
  • 新建的网站打不开濮阳网直播
  • 域名注册网站便宜群晖wordpress 映射
  • 做网站一个月赚多少钱亦庄做网站
  • 深圳网站设计 公司价格顺德网站制作公司
  • 公司付的网站费怎么做分录微信工作平台开发
  • 怎么使用服务器做网站网站建设08
  • 海外转运网站建设陕西住房和城乡建设厅网站
  • 2016国外网站设计欣赏怎样做网站收录
  • 网站策划书市场分析app 网站
  • 烟台专业网站制作公司有织梦后台系统怎么做网站
  • 网站建设报价网站关键字怎么做
  • 平板电脑可以做网站不wordpress免费自媒体模板
  • 甘肃省建设局官方网站高端网站建设公司联系电话
  • 做爰电影网站网页设计代码爱心