Blob分析

  • Blob分析
  • 算子
  • 示例
  • 示例
  • 使用场合
  • 示例

Blob分析

Blob分析的目的在于对图像中的2D形状进行检测和分析,得到诸如目标位置、形状、方向。Blob分析流程如下:

#mermaid-svg-G1nUad2XHVCGzoKn .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-G1nUad2XHVCGzoKn .label text{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .node rect,#mermaid-svg-G1nUad2XHVCGzoKn .node circle,#mermaid-svg-G1nUad2XHVCGzoKn .node ellipse,#mermaid-svg-G1nUad2XHVCGzoKn .node polygon,#mermaid-svg-G1nUad2XHVCGzoKn .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-G1nUad2XHVCGzoKn .node .label{text-align:center;fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .node.clickable{cursor:pointer}#mermaid-svg-G1nUad2XHVCGzoKn .arrowheadPath{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-G1nUad2XHVCGzoKn .flowchart-link{stroke:#333;fill:none}#mermaid-svg-G1nUad2XHVCGzoKn .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-G1nUad2XHVCGzoKn .edgeLabel rect{opacity:0.9}#mermaid-svg-G1nUad2XHVCGzoKn .edgeLabel span{color:#333}#mermaid-svg-G1nUad2XHVCGzoKn .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-G1nUad2XHVCGzoKn .cluster text{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-G1nUad2XHVCGzoKn .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-G1nUad2XHVCGzoKn text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-G1nUad2XHVCGzoKn .actor-line{stroke:grey}#mermaid-svg-G1nUad2XHVCGzoKn .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-G1nUad2XHVCGzoKn .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-G1nUad2XHVCGzoKn #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-G1nUad2XHVCGzoKn .sequenceNumber{fill:#fff}#mermaid-svg-G1nUad2XHVCGzoKn #sequencenumber{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn #crosshead path{fill:#333;stroke:#333}#mermaid-svg-G1nUad2XHVCGzoKn .messageText{fill:#333;stroke:#333}#mermaid-svg-G1nUad2XHVCGzoKn .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-G1nUad2XHVCGzoKn .labelText,#mermaid-svg-G1nUad2XHVCGzoKn .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-G1nUad2XHVCGzoKn .loopText,#mermaid-svg-G1nUad2XHVCGzoKn .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-G1nUad2XHVCGzoKn .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-G1nUad2XHVCGzoKn .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-G1nUad2XHVCGzoKn .noteText,#mermaid-svg-G1nUad2XHVCGzoKn .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-G1nUad2XHVCGzoKn .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-G1nUad2XHVCGzoKn .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-G1nUad2XHVCGzoKn .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-G1nUad2XHVCGzoKn .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .section{stroke:none;opacity:0.2}#mermaid-svg-G1nUad2XHVCGzoKn .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-G1nUad2XHVCGzoKn .section2{fill:#fff400}#mermaid-svg-G1nUad2XHVCGzoKn .section1,#mermaid-svg-G1nUad2XHVCGzoKn .section3{fill:#fff;opacity:0.2}#mermaid-svg-G1nUad2XHVCGzoKn .sectionTitle0{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .sectionTitle1{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .sectionTitle2{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .sectionTitle3{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-G1nUad2XHVCGzoKn .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .grid path{stroke-width:0}#mermaid-svg-G1nUad2XHVCGzoKn .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-G1nUad2XHVCGzoKn .task{stroke-width:2}#mermaid-svg-G1nUad2XHVCGzoKn .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .taskText:not([font-size]){font-size:11px}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-G1nUad2XHVCGzoKn .task.clickable{cursor:pointer}#mermaid-svg-G1nUad2XHVCGzoKn .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-G1nUad2XHVCGzoKn .taskText0,#mermaid-svg-G1nUad2XHVCGzoKn .taskText1,#mermaid-svg-G1nUad2XHVCGzoKn .taskText2,#mermaid-svg-G1nUad2XHVCGzoKn .taskText3{fill:#fff}#mermaid-svg-G1nUad2XHVCGzoKn .task0,#mermaid-svg-G1nUad2XHVCGzoKn .task1,#mermaid-svg-G1nUad2XHVCGzoKn .task2,#mermaid-svg-G1nUad2XHVCGzoKn .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutside0,#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutside2{fill:#000}#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutside1,#mermaid-svg-G1nUad2XHVCGzoKn .taskTextOutside3{fill:#000}#mermaid-svg-G1nUad2XHVCGzoKn .active0,#mermaid-svg-G1nUad2XHVCGzoKn .active1,#mermaid-svg-G1nUad2XHVCGzoKn .active2,#mermaid-svg-G1nUad2XHVCGzoKn .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-G1nUad2XHVCGzoKn .activeText0,#mermaid-svg-G1nUad2XHVCGzoKn .activeText1,#mermaid-svg-G1nUad2XHVCGzoKn .activeText2,#mermaid-svg-G1nUad2XHVCGzoKn .activeText3{fill:#000 !important}#mermaid-svg-G1nUad2XHVCGzoKn .done0,#mermaid-svg-G1nUad2XHVCGzoKn .done1,#mermaid-svg-G1nUad2XHVCGzoKn .done2,#mermaid-svg-G1nUad2XHVCGzoKn .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-G1nUad2XHVCGzoKn .doneText0,#mermaid-svg-G1nUad2XHVCGzoKn .doneText1,#mermaid-svg-G1nUad2XHVCGzoKn .doneText2,#mermaid-svg-G1nUad2XHVCGzoKn .doneText3{fill:#000 !important}#mermaid-svg-G1nUad2XHVCGzoKn .crit0,#mermaid-svg-G1nUad2XHVCGzoKn .crit1,#mermaid-svg-G1nUad2XHVCGzoKn .crit2,#mermaid-svg-G1nUad2XHVCGzoKn .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-G1nUad2XHVCGzoKn .activeCrit0,#mermaid-svg-G1nUad2XHVCGzoKn .activeCrit1,#mermaid-svg-G1nUad2XHVCGzoKn .activeCrit2,#mermaid-svg-G1nUad2XHVCGzoKn .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-G1nUad2XHVCGzoKn .doneCrit0,#mermaid-svg-G1nUad2XHVCGzoKn .doneCrit1,#mermaid-svg-G1nUad2XHVCGzoKn .doneCrit2,#mermaid-svg-G1nUad2XHVCGzoKn .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-G1nUad2XHVCGzoKn .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-G1nUad2XHVCGzoKn .milestoneText{font-style:italic}#mermaid-svg-G1nUad2XHVCGzoKn .doneCritText0,#mermaid-svg-G1nUad2XHVCGzoKn .doneCritText1,#mermaid-svg-G1nUad2XHVCGzoKn .doneCritText2,#mermaid-svg-G1nUad2XHVCGzoKn .doneCritText3{fill:#000 !important}#mermaid-svg-G1nUad2XHVCGzoKn .activeCritText0,#mermaid-svg-G1nUad2XHVCGzoKn .activeCritText1,#mermaid-svg-G1nUad2XHVCGzoKn .activeCritText2,#mermaid-svg-G1nUad2XHVCGzoKn .activeCritText3{fill:#000 !important}#mermaid-svg-G1nUad2XHVCGzoKn .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-G1nUad2XHVCGzoKn g.classGroup text .title{font-weight:bolder}#mermaid-svg-G1nUad2XHVCGzoKn g.clickable{cursor:pointer}#mermaid-svg-G1nUad2XHVCGzoKn g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-G1nUad2XHVCGzoKn g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-G1nUad2XHVCGzoKn .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-G1nUad2XHVCGzoKn .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-G1nUad2XHVCGzoKn .dashed-line{stroke-dasharray:3}#mermaid-svg-G1nUad2XHVCGzoKn #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn .commit-id,#mermaid-svg-G1nUad2XHVCGzoKn .commit-msg,#mermaid-svg-G1nUad2XHVCGzoKn .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-G1nUad2XHVCGzoKn g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-G1nUad2XHVCGzoKn g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-G1nUad2XHVCGzoKn g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-G1nUad2XHVCGzoKn .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-G1nUad2XHVCGzoKn .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-G1nUad2XHVCGzoKn .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-G1nUad2XHVCGzoKn .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-G1nUad2XHVCGzoKn .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-G1nUad2XHVCGzoKn .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-G1nUad2XHVCGzoKn .edgeLabel text{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-G1nUad2XHVCGzoKn .node circle.state-start{fill:black;stroke:black}#mermaid-svg-G1nUad2XHVCGzoKn .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-G1nUad2XHVCGzoKn #statediagram-barbEnd{fill:#9370db}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-state .divider{stroke:#9370db}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-G1nUad2XHVCGzoKn .note-edge{stroke-dasharray:5}#mermaid-svg-G1nUad2XHVCGzoKn .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-G1nUad2XHVCGzoKn .error-icon{fill:#522}#mermaid-svg-G1nUad2XHVCGzoKn .error-text{fill:#522;stroke:#522}#mermaid-svg-G1nUad2XHVCGzoKn .edge-thickness-normal{stroke-width:2px}#mermaid-svg-G1nUad2XHVCGzoKn .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-G1nUad2XHVCGzoKn .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-G1nUad2XHVCGzoKn .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-G1nUad2XHVCGzoKn .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-G1nUad2XHVCGzoKn .marker{fill:#333}#mermaid-svg-G1nUad2XHVCGzoKn .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-G1nUad2XHVCGzoKn {color: rgba(0, 0, 0, 0.75);font: ;}

采集图像
图像分割
形态学处理
连通性分析
形态学处理
特征提取

算子

threshold(Image : Region : MinGray, MaxGray : )
Segment an image using global threshold.
该函数是最简单、快速、使用频率最高的方法。适用于环境稳定,目标和背景存在明显的灰度差的场合。threshod的阈值一般通过灰度直方图工具来确定。

示例

read_image(Image, 'clip')
*产生灰度直方图
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
*根据灰度直方图产生灰度直方图区域,便于可视化
gen_region_histo (Region, RelativeHisto , 255, 255, 1)
*计算灰度值阈值(元组)
histo_to_thresh (RelativeHisto, 2, MinThresh, MaxThresh)
*期望目标灰度值
TargetGray:=23*根据期望目标灰度值自动选择阈值
*最小阈值初始化
MinGray:=255
*最大阈值初始化
MaxGray:=0
*最小阈值元组从右往左遍历,第一个小于或等于期望目标灰度值的元素作为目标的最小阈值
for Index := |MinThresh|-1 to 0 by -1if(MinThresh[Index]<=TargetGray)MinGray:=MinThresh[Index]breakendif
endfor
*最大阈值元组从左往右遍历,第一个大于或等于期望目标灰度值的元素作为目标的最大阈值
for Index1 := 0 to |MaxThresh|-1 by 1if(MaxThresh[Index1]>=TargetGray)MaxGray:=MaxThresh[Index1]breakendif
endfor
*阈值分割
threshold (Image, Region1, MinGray, MaxGray)


bin_threshold(Image : Region : : )
Segment an image using an automatically determined threshold.
Description
bin_threshold segments a single-channel gray value image using an automatically determined threshold. First, the relative histogram of the gray values is determined. Then, relevant minima are extracted from the histogram, which are used as parameters for a thresholding operation. In order to reduce the number of minima, the histogram is smoothed with a Gaussian, as in auto_threshold. The mask size is enlarged until there is only one minimum in the smoothed histogram. The selected region contains the pixels with gray values from 0 to the minimum or for real images from the smallest value to the respective minimum. This operator is, for example useful for the segmentation of dark characters on a light paper.

示例

read_image(Image, 'clip')
bin_threshold (Image, Region)

dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )
Segment an image using a local threshold.
使用之前一般先将图像进行滤波处理(mean_image, gauss_image等)

使用场合

对于一些图像来说,无法通过一个全局阈值进行分割,比如:没有通用的参考图像来确定应用校正,或者图像的背景是非均匀的。但是物体在局部范围内通常比背景亮一些或暗一些。

示例

read_image (Image, 'alpha1')
*均值滤波
mean_image (Image, ImageMean, 21, 21)
dyn_threshold (Image, ImageMean, RegionDynThresh, 15, 'dark')read_image (Image1, 'alpha1')
*中值滤波
median_image (Image1, ImageMedian, 'circle', 10, 'mirrored')
dyn_threshold (Image1, ImageMedian, RegionDynThresh1, 15, 'dark')


var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : )
Threshold an image by local mean and standard deviation analysis.
阈值通过平均灰度值和标准差来确定。
这个算子对不合适的参数设置不敏感,只使用单个算子就能实现,但相比dyn_threshold,执行时间更长。

auto_threshold(Image : Regions : Sigma : )
Segment an image using thresholds determined from its histogram.
fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )
Fast thresholding of images using global thresholds.
watersheds(Image : Basins, Watersheds : : )
Extract watersheds and basins from an image.
watersheds_threshold(Image : Basins : Threshold : )
==Extract watershed basins from an image using a threshold.==d

Halcon Blob分析(二值化图像分割)相关推荐

  1. 设图像为 f=[1 5 25 10 20 20] 谷峰法 二值化 图像分割

    峰谷法 二值化 图像分割 峰谷法主要是在找谷底(Th),也就是阈值 先做道例题 画出灰度直方图,找到两个谷底Th1.Th2 用图片测试一下 clear clc f=imread('1.jpg'); f ...

  2. 【计算机视觉】-图像二值化 - 图像分割 -图像卷积

    图像卷积:利用2D卷积核去扫图像,主要是为了实现Blur,高斯滤波本质也是通过卷积来实现的,只不过他的卷积核内参数是符合高斯分布的. 图像二值化:图像二值化之后为黑白图像,相当于mask掩模,用于挖出 ...

  3. 计算机视觉基础-图像处理(图像分割/二值化)cpp+python

    5.1 简介 该部分的学习内容是对经典的阈值分割算法进行回顾,图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单.计算量小.性能较稳定而成为图像分割中最基本和应用最广泛的分割技术.它特别适用 ...

  4. 计算机视觉基础-图像处理 Task05 图像分割/二值化

    文章目录 OSTU二值化 自适应阈值 函数实现 OSTU二值化 自适应阈值 图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单.计算量小.性能较稳定而成为图像分割中最基本和应用最广泛的分割技 ...

  5. 二值图像分析:OpenCV中的二值化阈值操作

    二值图像分析:OpenCV中的二值化阈值操作 1.二值图像的定义 2.OpenCV中的基本阈值操作 3.OTSU二值寻找算法 3.1 OTSU二值寻找算法介绍 3.2 OTSU二值寻找算法分析 3.2 ...

  6. opencv 图像分割 阈值分割 图像二值化 灰度图

    # -*- coding: utf-8 -*- """ @File : 191213_测试_阈值分割.py @Time : 2019/12/13 15:14 @Autho ...

  7. cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

  8. opencv 轮廓放大_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

  9. halcon—利用顶帽操作减轻图像灰度不均匀对二值化的影响

    先看原图 由于这副图像的灰度是渐变的,如果直接进行二值化处理的话......,会是这个样子 附上顶帽操作相关介绍顶帽运算和黑帽运算 - 爱码网 (likecs.com) 先使用halcon自带顶帽函数 ...

最新文章

  1. Silverlight实例教程 - Out of Browser的自定义应用
  2. 积跬步,聚小流------html知识大纲归纳总结
  3. 线路板铜厚测试软件,厚铜线路板的铜厚是如何实现的
  4. implode - of an array
  5. ThinkPHP自定义错误页面
  6. 服务监控(一)之安装Prometheus
  7. 作业四:结对编程项目--四则运算
  8. 网站关键词密度设置与优化
  9. https安全认证流程简介
  10. 博客小编风明姗姗来迟
  11. Painter X Liquid Ink(液体墨水)画笔
  12. Ebay跨境智星:全自动批量注册及下单软件
  13. 专题分纲目录 思维导图 XMind 闯关之路
  14. 计算机考研英语听力,英语听力_2017考研常识:计算机考研必知_沪江英语
  15. 机器学习中决策树的随机森林_决策树和随机森林在机器学习中的使用
  16. 万彩动画大师-案例视频教程(中级)
  17. 有符号数与无符号数之间的转换
  18. javaSE编写的小游戏打包成可执行文件
  19. 我的 博客 主页
  20. bootstrap 英文日历_bootstrap日历插件DateRangePicker的使用

热门文章

  1. A*寻路算法基于C#实现
  2. HP380 G9服务器RAID划分
  3. ITA 测试时之数据准备(大量数据导入与导出)(主键的最高位最好有值,而不是0)。
  4. php跨网段获取mac地址吗,局域网IP地址和MAC地址绑定,跨网段IP-MAC绑定。
  5. php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...
  6. mac mysql 账户密码忘记_MAC下MYSQL数据库密码忘记的解决办法
  7. python异常(概念、捕获、传递、抛出)
  8. 遇见Python.h: No such file or directory的解决方法
  9. django解决页面跳转问题
  10. 从数组中删除最后一项