---
title: 「基礎から学ぶ医療・科学分野で活用される、OpenCVによる画像認識技術」第3回ハフ変換を用いた直線検出の仕組みについて実例を用いて解説
description: 本記事では、医療や科学分野において広く活用されている画像認識技術の概要、およびその技術のひとつである「直線検出」について取り上げます。
image: https://blog.esol.co.jp/hubfs/blog_thum_250515_re.jpg
---

# [![eSOL](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/logo_no-50th-9.png)](https://www.esol.co.jp/)

- [eSOL ウェブサイト](https://www.esol.co.jp/)
- [Blog記事一覧](https://blog.esol.co.jp/)

- [お問い合わせ](https://www.esol.co.jp/inquiry/)

## eSOL Marketing Official Blog

# 「基礎から学ぶ医療・科学分野で活用される、OpenCVによる画像認識技術」第3回ハフ変換を用いた直線検出の仕組みについて実例を用いて解説

 2025/05/15 10:19:59

こんにちは、イーソルエンジニアリング本部Medical課のS.Yです。

Medical課では、医療機器や研究向け製品をはじめとした医療・科学分野のエンジニアリングサービスを提供しています。

このブログシリーズでは、医療や科学分野において活用される画像認識技術や、それに付随する基礎的な画像処理技術について学ぶ社内勉強会において私が得た知見についてご紹介しています。 

<https://blog.esol.co.jp/embedded/image-recognition-technology_01>[第2回](https://blog.esol.co.jp/embedded/image-recognition-technology_02)では、Canny法によるエッジ検出について紹介しました。  
第3回では、第1、2回に引き続き第4回以降の基礎となる下記技術の内、「直線検出」について取り上げます。

- 画像の「回転」、「合成」、「ノイズ除去」 
- テンプレート画像と同じパターンを検出する「テンプレートマッチング」 
- 画像に写る物体を識別し、位置を特定する「物体検出」 
- 画像に写る物体の輪郭を抽出する「エッジ検出」 
- 画像に写る直線を検出する「直線検出」 

計6回に分けて投稿予定ですので、ぜひ最後までご覧ください。

- 第4回　セグメンテーション
- 第5回　タイリング
- 第6回　焦点合成

[![thum-24](https://no-cache.hubspot.com/cta/default/4324060/interactive-190107097858.png)](https://blog.esol.co.jp/hs/cta/wi/redirect?encryptedPayload=AVxigLLK2mBW%2FiAx%2B7LkmB3CK%2Bn9h58O28o3f3LCfdcF5sVRYJ0ST%2BWUSmf3WxCBk0IaB5GUSvTTLRBKsEPKvZk4tJsamGumHGzcEUnmpadJnH%2FfIsiPcw3s%2FPy4uTY9aRiDnZ7HlNxAzIFH2dQb1jK5vaBTrROfHe9EDikSaxQ%3D&webInteractiveContentId=190107097858&portalId=4324060)

---

目次

1. [直線検出とは ](https://blog.esol.co.jp/embedded/image-recognition-technology_03#1)<https://blog.esol.co.jp/embedded/image-recognition-technology_03#1>
2. [**直線検出の仕組み(ハフ変換) **](https://blog.esol.co.jp/embedded/image-recognition-technology_03#2)
3. [**OpenCVを使った直線検出の実装**](https://blog.esol.co.jp/embedded/image-recognition-technology_03#3)
4. [**確率的ハフ変換による線分検出**](https://blog.esol.co.jp/embedded/image-recognition-technology_03#4)
5. [**最後に**](https://blog.esol.co.jp/embedded/image-recognition-technology_03#5)

---

 

# 1. 直線検出とは

直線検出は、その名の通り、画像中の直線を検出する手法です。  
第2回でご紹介したエッジ検出により画像中のエッジを抽出した上で、エッジの中から直線のみを抽出します。  
図3-1-1はカレンダーの画像に対してエッジ検出と直線検出を行った例です。  
直線検出結果は、エッジ検出結果からさらに直線部分のみが抽出され、カレンダーの罫線のみが検出されているのが分かります。  
画像中の直線を検出することで、例えば観察プレートのグリッド線などを認識できるため、セグメンテーション等への応用が可能です。  
医療分野においては、CTやMRI画像から血管等の特徴的な形状を認識するために用いられています。

![250515_1](https://blog.esol.co.jp/hs-fs/hubfs/250515_1.png?width=1288&height=805&name=250515_1.png)

図3-1-1 直線検出の例

 

# 2. 直線検出の仕組み(ハフ変換)

直線検出に用いられるアルゴリズムには、ハフ変換やLine Segment Detectorなどがありますが、  
今回の勉強会ではハフ変換を使用しました。  
直線検出の仕組みの理解のために、実際にハフ変換のアルゴリズムを実装しましたので、簡単な直線の画像に対して適用した結果とともにご紹介します。

# 3.OpenCVを使った直線検出の実装

OpenCVでは、Cv2.HoughLinesメソッドやCv2.HoughLinesPメソッドにより直線検出が可能です。  
Cv2.HoughLinesは通常のハフ変換、Cv2.HoughLinesPは確率的ハフ変換を使います。  
この章ではまずCv2.HoughLinesを使って直線検出を実装した例をご紹介し、4章でCv2.HoughLinesPを使った例をご紹介します。

Cv2.HoughLinesでは、対象となる画像とρ、θの精度、投票数に対するしきい値を指定することで、(ρ, θ)の配列を取得できます。  
実際にCv2.HoughLinesで取得した(ρ, θ)に対応する直線を描くプログラムを実装しました。  
図3-3-1は、ρの精度を1、θの精度を1radian、しきい値を160に設定して直線検出を実施した結果です。  
元画像には横断歩道と歩行者の画像を使用し、エッジ検出後に直線検出を行いました。

![250515_7](https://blog.esol.co.jp/hs-fs/hubfs/250515_7.png?width=1288&height=953&name=250515_7.png)

図3-3-1 Cv2.HoughLinesによる直線検出結果

エッジ検出結果と直線検出結果を重ねると図3-3-2のようになります。

![250515_8](https://blog.esol.co.jp/hs-fs/hubfs/250515_8.jpg?width=400&height=266&name=250515_8.jpg)図3-3-2 元画像と直線検出結果のオーバーラップ

ハフ変換の特徴として、途中で途切れている直線でも検出できる点が挙げられます。  
これは、ハフ変換の原理上、点が隣り合っているかどうかは投票結果に影響しないためです。  
今回使用した画像では歩行者の足で横断歩道の白線が一部隠されていますが、図3-3-2を見ると直線として検出されているのが分かります。  
また、エッジ検出により途切れている直線も、同様に検出できています。  
一方で図3-3-3に示したように、画像左上や右上にある短い直線は検出できていません。

![250515_9](https://blog.esol.co.jp/hs-fs/hubfs/250515_9.png?width=450&height=293&name=250515_9.png)

図3-3-3 検出できない直線

これは、直線が短いと投票数が少なくなり、しきい値を超えられなくなるためです。  
もちろんしきい値を下げることで短い直線も検出できるようになりますが、その分ノイズを誤検出しやすくなるため、ノイズをひっかけずに検出できる直線の短さには限度があります。

# 4.確率的ハフ変換による線分検出

通常のハフ変換の問題点として、大量の計算を必要とする点があげられます。  
確率的ハフ変換は通常のハフ変換のように画像中のすべての点で計算を行うのではなく、直線検出をするのに十分な点を画像中からランダムに選択して計算することで、処理の高速化を図った手法です。  
OpenCVのCv2.HoughLinesPでは、通常のハフ変換と違い、画像中の線分を検出できるのも特徴です。  
Cv2.HoughLinesと同じパラメータに加えて、検出する線分の最小長さ(minLineLength)と、2つの点を1つの線分とみなす最大のギャップ(maxLineGap)を引数に指定することで、画像中から検出された線分の両端の座標が取得できます。  
線分の最小長さは、それよりも短い点の並びを線分として検出しない基準値であり、最大ギャップは、2点間の距離がその値よりも離れると同じ線分上の点として検出しない基準値です(図3-4-1参照)。

![250515_10](https://blog.esol.co.jp/hs-fs/hubfs/250515_10.png?width=635&height=424&name=250515_10.png)

図3-4-1 確率的ハフ変換による線分検出のパラメータ

実際にCv2.HoughLinesPで取得した線分を描くプログラムを実装しました。  
図3-4-2は、ρの精度を1、θの精度を1radian、しきい値を120、線分の最小長さを100、最大ギャップを20に設定して線分検出を実施した結果です。元画像には図3-3-1のエッジ検出後の画像を使用しています。  
線分検出のため、歩行者の足で横断歩道が隠されている箇所は2つの線分として検出されています。  
また、Cv2.HoughLinesでは検出できなかった画像右上の短い線も検出できています。

![250515_11](https://blog.esol.co.jp/hs-fs/hubfs/250515_11.png?width=718&height=268&name=250515_11.png)

![250515_12](https://blog.esol.co.jp/hs-fs/hubfs/250515_12.jpg?width=322&height=215&name=250515_12.jpg)

図3-4-2 Cv2.HoughLinesPによる線分検出結果

続いて、線分の最小長さと最大ギャップの設定値を変えて、線分検出結果がどのように変わるのか比較してみました。  
図3-4-3は、線分の最小長さをminLineLength = 10, 100, 200で変えたときの線分検出結果の比較です。  
線分の最小長さの値を大きくしていくと、画像中の短い線分が検出されなくなっていくため、検出される線分の数が減少します。  
minLineLength = 10とminLineLength = 200の画像を比較すると、歩行者の足で遮られている線の一部や画像右上の短い線が検出されなくなっているのがわかります。

![250515_13](https://blog.esol.co.jp/hs-fs/hubfs/250515_13.png?width=1288&height=981&name=250515_13.png)

図3-4-3 minLineLength(線分の最小長さ)のみ変えたときの線分検出結果比較

図3-4-4は、最大ギャップをmaxLineGap = 5, 20, 50で変えたときの線分検出結果の比較です。  
最大ギャップは、画像中の2点間の距離がこのギャップ以上に離れている場合に同じ線分と判定しないという基準です。  
そのため、この値を小さくしていくと線分として検出する基準が厳しくなり、検出される線分の量が減少します。  
maxLineGap = 50の画像では、歩行者の足で遮られていて2点間のギャップが大きな箇所も、一つの線分として検出しています。  
また、maxLineGap = 5の画像では、画像左から2本目の線が2つの線分に分かれていたり、全体的に検出量が減少しているのがわかります。

![250515_14](https://blog.esol.co.jp/hs-fs/hubfs/250515_14.png?width=718&height=541&name=250515_14.png)

図3-4-4 maxLineGap(最大ギャップ)のみ変えたときの線分検出結果比較

以上の結果から、Cv2.HoughLinesPで設定できる各パラメータの性質を確認できました。  
また、Cv2.HoughLinesP を使うことにより、Cv2.HoughLinesでは検出できなかった短い線の検出が可能であることがわかりました。  
Cv2.HoughLinesPでは、線分の最小長さや最大ギャップによる足切りである程度ノイズが除去されるため、Cv2.HoughLinesと比べて短い線の検出ができたと考えられます。  
Cv2.HoughLinesでは(ρ, θ)の組み合わせから直線の方程式を計算する必要があるのに対して、Cv2.HoughLinesPでは線分の両端の座標が取得できるため実装もしやすく、基本的には上位互換と考えて良いと思います。

一方で、しきい値と線分の最小長さ、最大ギャップの3つのパラメータを画像に合わせて設定しないと、画像中の線分をうまく検出できなかったり、逆に想定外の箇所が線分として検出されてしまったりするので注意が必要です。  
線分の最小長さは長め、最大ギャップは小さめに最初は設定し、検出したい線を検出しつつノイズを誤検出しないラインを探しながら設定値を調整していくと良いです。  
しきい値については、ハフ変換の投票数に対するしきい値のため、検出したい線がどれくらい多くの点から構成されているかに依存します。  
線分検出を行う前のエッジ検出の段階でいかに検出したい線を明瞭に抽出できているか、ノイズを除去できているかによって、適切なしきい値が変わるので、エッジ検出のパラメータと合わせて総合的に調整する必要があります。

 

# 5.最後に

第3回ではHough変換による直線検出がどういったものか、実際に実装して適用した結果と共にご紹介しました。  
OpenCVには通常のハフ変換による直線検出を行うメソッドと確率的ハフ変換による線分検出を行うメソッドの2種類があったため、両者を実装してみて、実際に横断歩道が写る画像の直線検出を行いました。  
その結果、確率的ハフ変換では、通常のハフ変換と比べて短い線の検出が可能であることが分かりました。  
また、通常のハフ変換では(ρ, θ)の組み合わせから直線の方程式を計算する必要があるのに対して、確率的ハフ変換では線分の両端の座標が取得できるため、実装面でも扱いやすいということが分かりました。

次回の第4回では「セグメンテーション」について取り上げます。  
セグメンテーションとは、画像に写るオブジェクトを識別して分類分けする画像認識技術です。  
第2、3回でご紹介したエッジ検出や直線検出を応用して画像中のオブジェクトを識別し、オブジェクト毎に別の画像に分けたりすることができます。  
次回もぜひご覧ください。

また冒頭でご紹介した通り、イーソルは[医療分野のエンジニアリングサービス](https://www.esol.co.jp/successstory/engineering_services.html#sec9)を提供しており、豊富な実績があります。  
医療分野のみならず、車載・産業などの幅広い領域における開発実績で身に着けた安全性の高い開発プロセスなどの知見や技術力は、お客様の求めるお客様が目指す高性能で高品質な開発を強力に支援します。

医療分野の製品開発で課題がある、今回ご紹介したような画像認識技術に関わる開発を実施したい、エンジニアリングサービスについて詳しく知りたい、という方はぜひお気軽にイーソルにご相談ください。

 

- [オンライン無料相談はこちら](https://hubs.ly/Q01_Wn8r0)
- [医療ソフトウェア エンジニアリングサービス開発実績の資料ダウンロードはこちら](https://hubs.ly/Q01_Wn6G0)

 

Medical課　S.Y

**記事カテゴリ**:  [産業IoT](https://blog.esol.co.jp/tag/産業iot), [ソフトウェア開発支援](https://blog.esol.co.jp/tag/ソフトウェア開発支援), [組込みソフトウェアソリューション](https://blog.esol.co.jp/tag/組込みソフトウェアソリューション)

 

[![Share on facebook](https://7528309.fs1.hubspotusercontent-na1.net/hub/7528309/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/facebook-color.png?width=24&name=facebook-color.png)](http://www.facebook.com/share.php?u=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Dfacebook) [![Share on linkedin](https://7528302.fs1.hubspotusercontent-na1.net/hub/7528302/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/linkedin-color.png?width=24&name=linkedin-color.png)](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Dlinkedin) [![Share on twitter](https://7528304.fs1.hubspotusercontent-na1.net/hub/7528304/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/twitter-color.png?width=24&name=twitter-color.png)](https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&url=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&source=tweetbutton&text=) [![Share on email](https://7528311.fs1.hubspotusercontent-na1.net/hub/7528311/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/email-color.png?width=24&name=email-color.png)](mailto:?subject=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Demailをチェック%20&body=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fimage-recognition-technology_03%3Futm_medium%3Dsocial%26utm_source%3Demailをチェック)

[eSOL Marketing Official Blog 記事一覧](https://blog.esol.co.jp/)

**🔰リアルタイムOS 初心者向け特集**

リアルタイムOS（RTOS）の基礎を学ぶための動画・資料・ブログをまとめました  
[一覧ページを見る](https://lp.esol.co.jp/contents/basic_rtos)

### 最近の記事

[![ブログの更新通知を受け取る](https://no-cache.hubspot.com/cta/default/4324060/ee7ec3fc-c963-4047-9e9d-a3050aeba9f5.png)](https://cta-redirect.hubspot.com/cta/redirect/4324060/ee7ec3fc-c963-4047-9e9d-a3050aeba9f5)

### 記事カテゴリ別

- [組込みソフトウェアソリューション (229)](https://blog.esol.co.jp/tag/組込みソフトウェアソリューション)
- [イベント・セミナー情報 (140)](https://blog.esol.co.jp/tag/イベント-セミナー情報)
- [車載ソフトウェア (105)](https://blog.esol.co.jp/tag/車載ソフトウェア)
- [AUTOSAR (76)](https://blog.esol.co.jp/tag/autosar)
- [製品・ソリューション紹介 (68)](https://blog.esol.co.jp/tag/製品-ソリューション紹介)
- [ソフトウェア開発支援 (64)](https://blog.esol.co.jp/tag/ソフトウェア開発支援)
- [動画・資料公開 (55)](https://blog.esol.co.jp/tag/動画-資料公開)
- [eMCOS (53)](https://blog.esol.co.jp/tag/emcos)
- [最新ニュース (47)](https://blog.esol.co.jp/tag/最新ニュース)
- [ROS/ROS 2 (32)](https://blog.esol.co.jp/tag/ros-ros-2)
- [機能安全 (31)](https://blog.esol.co.jp/tag/機能安全)
- [センシングソリューション (28)](https://blog.esol.co.jp/tag/センシングソリューション)
- [メディア掲載情報 (22)](https://blog.esol.co.jp/tag/メディア掲載情報)
- [サイバーセキュリティ (20)](https://blog.esol.co.jp/tag/サイバーセキュリティ)
- [マルチコア/メニーコア (20)](https://blog.esol.co.jp/tag/マルチコア-メニーコア)
- [産業IoT (20)](https://blog.esol.co.jp/tag/産業iot)
- [仮想化ソリューション (18)](https://blog.esol.co.jp/tag/仮想化ソリューション)
- [ソフトウェア検証 (16)](https://blog.esol.co.jp/tag/ソフトウェア検証)
- [eT-Kernel (9)](https://blog.esol.co.jp/tag/et-kernel)
- [eBinder (8)](https://blog.esol.co.jp/tag/ebinder)
- [eSOL Emusen (6)](https://blog.esol.co.jp/tag/esol-emusen)
- [耐環境ハードウェア (5)](https://blog.esol.co.jp/tag/耐環境ハードウェア)
- [防災・減災 (5)](https://blog.esol.co.jp/tag/防災-減災)
- [eSOL Emusen easy (4)](https://blog.esol.co.jp/tag/esol-emusen-easy)
- [eXRP (4)](https://blog.esol.co.jp/tag/exrp)
- [AUTOSAR (9) (2)](https://blog.esol.co.jp/tag/autosar-9)
- [Aubist Hypervisor for MCU (2)](https://blog.esol.co.jp/tag/aubist-hypervisor-for-mcu)
- [RISC-V (2)](https://blog.esol.co.jp/tag/risc-v)
- [eMCOS (45) (2)](https://blog.esol.co.jp/tag/emcos-45)
- [eSOL AGRInk (2)](https://blog.esol.co.jp/tag/esol-agrink)
- [エンジニアリングサービス (2)](https://blog.esol.co.jp/tag/エンジニアリングサービス)
- [AI (1)](https://blog.esol.co.jp/tag/ai)
- [画像処理 (1)](https://blog.esol.co.jp/tag/画像処理)

全て表示

### アーカイブ

- [8月 2026 (2)](https://blog.esol.co.jp/archive/2026/08)
- [7月 2026 (2)](https://blog.esol.co.jp/archive/2026/07)
- [3月 2026 (1)](https://blog.esol.co.jp/archive/2026/03)
- [1月 2026 (1)](https://blog.esol.co.jp/archive/2026/01)
- [12月 2025 (2)](https://blog.esol.co.jp/archive/2025/12)
- [9月 2025 (1)](https://blog.esol.co.jp/archive/2025/09)
- [7月 2025 (1)](https://blog.esol.co.jp/archive/2025/07)
- [6月 2025 (1)](https://blog.esol.co.jp/archive/2025/06)
- [5月 2025 (3)](https://blog.esol.co.jp/archive/2025/05)
- [4月 2025 (1)](https://blog.esol.co.jp/archive/2025/04)
- [3月 2025 (2)](https://blog.esol.co.jp/archive/2025/03)
- [2月 2025 (2)](https://blog.esol.co.jp/archive/2025/02)
- [1月 2025 (5)](https://blog.esol.co.jp/archive/2025/01)
- [12月 2024 (1)](https://blog.esol.co.jp/archive/2024/12)
- [11月 2024 (5)](https://blog.esol.co.jp/archive/2024/11)
- [10月 2024 (1)](https://blog.esol.co.jp/archive/2024/10)
- [9月 2024 (1)](https://blog.esol.co.jp/archive/2024/09)
- [8月 2024 (3)](https://blog.esol.co.jp/archive/2024/08)
- [7月 2024 (4)](https://blog.esol.co.jp/archive/2024/07)
- [6月 2024 (4)](https://blog.esol.co.jp/archive/2024/06)
- [5月 2024 (4)](https://blog.esol.co.jp/archive/2024/05)
- [4月 2024 (4)](https://blog.esol.co.jp/archive/2024/04)
- [3月 2024 (5)](https://blog.esol.co.jp/archive/2024/03)
- [2月 2024 (6)](https://blog.esol.co.jp/archive/2024/02)
- [1月 2024 (3)](https://blog.esol.co.jp/archive/2024/01)
- [12月 2023 (4)](https://blog.esol.co.jp/archive/2023/12)
- [11月 2023 (6)](https://blog.esol.co.jp/archive/2023/11)
- [10月 2023 (5)](https://blog.esol.co.jp/archive/2023/10)
- [9月 2023 (6)](https://blog.esol.co.jp/archive/2023/09)
- [8月 2023 (4)](https://blog.esol.co.jp/archive/2023/08)
- [7月 2023 (4)](https://blog.esol.co.jp/archive/2023/07)
- [6月 2023 (5)](https://blog.esol.co.jp/archive/2023/06)
- [5月 2023 (3)](https://blog.esol.co.jp/archive/2023/05)
- [4月 2023 (4)](https://blog.esol.co.jp/archive/2023/04)
- [3月 2023 (5)](https://blog.esol.co.jp/archive/2023/03)
- [2月 2023 (3)](https://blog.esol.co.jp/archive/2023/02)
- [1月 2023 (4)](https://blog.esol.co.jp/archive/2023/01)
- [12月 2022 (5)](https://blog.esol.co.jp/archive/2022/12)
- [11月 2022 (5)](https://blog.esol.co.jp/archive/2022/11)
- [10月 2022 (4)](https://blog.esol.co.jp/archive/2022/10)
- [9月 2022 (4)](https://blog.esol.co.jp/archive/2022/09)
- [8月 2022 (3)](https://blog.esol.co.jp/archive/2022/08)
- [7月 2022 (6)](https://blog.esol.co.jp/archive/2022/07)
- [6月 2022 (6)](https://blog.esol.co.jp/archive/2022/06)
- [5月 2022 (3)](https://blog.esol.co.jp/archive/2022/05)
- [4月 2022 (4)](https://blog.esol.co.jp/archive/2022/04)
- [3月 2022 (6)](https://blog.esol.co.jp/archive/2022/03)
- [2月 2022 (4)](https://blog.esol.co.jp/archive/2022/02)
- [1月 2022 (5)](https://blog.esol.co.jp/archive/2022/01)
- [12月 2021 (4)](https://blog.esol.co.jp/archive/2021/12)
- [11月 2021 (5)](https://blog.esol.co.jp/archive/2021/11)
- [10月 2021 (4)](https://blog.esol.co.jp/archive/2021/10)
- [9月 2021 (5)](https://blog.esol.co.jp/archive/2021/09)
- [8月 2021 (4)](https://blog.esol.co.jp/archive/2021/08)
- [7月 2021 (5)](https://blog.esol.co.jp/archive/2021/07)
- [6月 2021 (5)](https://blog.esol.co.jp/archive/2021/06)
- [5月 2021 (5)](https://blog.esol.co.jp/archive/2021/05)
- [4月 2021 (4)](https://blog.esol.co.jp/archive/2021/04)
- [3月 2021 (6)](https://blog.esol.co.jp/archive/2021/03)
- [2月 2021 (4)](https://blog.esol.co.jp/archive/2021/02)
- [1月 2021 (4)](https://blog.esol.co.jp/archive/2021/01)
- [12月 2020 (8)](https://blog.esol.co.jp/archive/2020/12)
- [11月 2020 (6)](https://blog.esol.co.jp/archive/2020/11)
- [10月 2020 (8)](https://blog.esol.co.jp/archive/2020/10)
- [9月 2020 (6)](https://blog.esol.co.jp/archive/2020/09)
- [8月 2020 (4)](https://blog.esol.co.jp/archive/2020/08)
- [7月 2020 (6)](https://blog.esol.co.jp/archive/2020/07)
- [6月 2020 (7)](https://blog.esol.co.jp/archive/2020/06)
- [5月 2020 (4)](https://blog.esol.co.jp/archive/2020/05)
- [4月 2020 (5)](https://blog.esol.co.jp/archive/2020/04)
- [3月 2020 (4)](https://blog.esol.co.jp/archive/2020/03)
- [2月 2020 (3)](https://blog.esol.co.jp/archive/2020/02)
- [1月 2020 (4)](https://blog.esol.co.jp/archive/2020/01)
- [12月 2019 (4)](https://blog.esol.co.jp/archive/2019/12)
- [11月 2019 (6)](https://blog.esol.co.jp/archive/2019/11)
- [10月 2019 (6)](https://blog.esol.co.jp/archive/2019/10)
- [9月 2019 (5)](https://blog.esol.co.jp/archive/2019/09)
- [8月 2019 (6)](https://blog.esol.co.jp/archive/2019/08)
- [7月 2019 (5)](https://blog.esol.co.jp/archive/2019/07)
- [6月 2019 (5)](https://blog.esol.co.jp/archive/2019/06)
- [5月 2019 (4)](https://blog.esol.co.jp/archive/2019/05)
- [4月 2019 (7)](https://blog.esol.co.jp/archive/2019/04)
- [3月 2019 (4)](https://blog.esol.co.jp/archive/2019/03)
- [2月 2019 (4)](https://blog.esol.co.jp/archive/2019/02)
- [1月 2019 (10)](https://blog.esol.co.jp/archive/2019/01)
- [12月 2018 (2)](https://blog.esol.co.jp/archive/2018/12)
- [11月 2018 (2)](https://blog.esol.co.jp/archive/2018/11)

全て表示

![eSOL](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/logo.png)

- [会社概要](https://www.esol.co.jp/company/)
- [個人情報保護方針](https://www.esol.co.jp/policy/privacy.html)
- [免責事項と準拠法](https://www.esol.co.jp/policy/legal.html)
- [コピーライト](https://www.esol.co.jp/policy/copyright.html)
- [サイトマップ](https://www.esol.co.jp/sitemap.html)

- [![Facebook](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_fb.png)](https://www.facebook.com/eSOL.JAPAN)
- [![X](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_x.png)](https://twitter.com/eSOL_Japan)
- [![LinkedIn](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_in.png)](https://www.linkedin.com/company/esol/)
- [![YouTube](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_yt.png)](https://www.youtube.com/c/eSOL-Japan)

[ソーシャルメディアポリシー](https://blog.esol.co.jp/policy/snspolicy.html)

[お問い合わせ](https://www.esol.co.jp/inquiry/)

© eSOL 2002-2026. All rights reserved.

Creating the future with innovative technology. Creating the future with innovative technology.

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "eSOL Marketing",
    "url" : "https://blog.esol.co.jp/author/esol-marketing"
  },
  "dateModified" : "2025-05-15T04:33:59.295Z",
  "datePublished" : "2025-05-15T01:19:59.000Z",
  "headline" : "「基礎から学ぶ医療・科学分野で活用される、OpenCVによる画像認識技術」第3回ハフ変換を用いた直線検出の仕組みについて実例を用いて解説",
  "image" : [ "https://blog.esol.co.jp/hubfs/blog_thum_250515_re.jpg" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.esol.co.jp/embedded/image-recognition-technology_03",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.esol.co.jp/hubfs/eSOL_Red-Orange.gif"
    },
    "name" : "イーソル株式会社"
  }
}
```