OpenCVのスーパーピクセル(2). 分割領域を平均化してみる

您所在的位置:网站首页 cv2ximgproc OpenCVのスーパーピクセル(2). 分割領域を平均化してみる

OpenCVのスーパーピクセル(2). 分割領域を平均化してみる

#OpenCVのスーパーピクセル(2). 分割領域を平均化してみる| 来源: 网络整理| 查看: 265

はじめに

OpenCVのスーパーピクセル(領域分割)画像処理について、前回記事を書きましたが 分割してどうする?のどうするかについての部分を書いていませんでしたので 書きたいと思います。

スーパーピクセルについて

スーパーピクセルは領域分割とかセグメンテーションアルゴリズムのことで 領域を分割した上で画像処理をします。 今回は、スーパーピクセルで分割した領域のラベル情報(マスク)を取得し それを表示します。 また、そのラベル情報(マスク)で、分割領域のBGR平均値を取得し、画像に 反映することをやってみようと思います。

1)スーパーピクセルインスタンスの生成

まず、スーパーピクセルインスタンス生成し、画像データをインスタンスに入力します。

seeds = cv2.ximgproc.createSuperpixelSEEDS(width, height, channels, num_superpixels, num_levels, prior, num_histogram_bins, double_step) # 画像のスーパーピクセルセグメンテーションを計算 # 入力画像は,HSVまたはL*a*b* converted = cv2.cvtColor(input_image, cv2.COLOR_BGR2HSV) seeds.iterate(converted, num_iterations)

入力画像はHSV色空間かまたはL*a*b*色空間を使います。 上記サンプルconverted画像はHSV色空間です。

2)スーパーピクセルセグメンテーションの境界を取得

各分割された領域を分ける線を黄色で線引きします。 これは、人にわかりやすくするための処理で、必ずしも必須ではありません。

# スーパーピクセルセグメンテーションの境界を取得 contour_mask = seeds.getLabelContourMask(False) result = input_image.copy() result[0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3