>  기사  >  백엔드 개발  >  PHP 및 OpenCV 라이브러리를 이용한 이미지 가장자리 감지 및 스트로크 방법

PHP 및 OpenCV 라이브러리를 이용한 이미지 가장자리 감지 및 스트로크 방법

PHPz
PHPz원래의
2023-07-17 15:37:481216검색

이미지 가장자리 감지 및 추적을 위해 PHP 및 OpenCV 라이브러리를 사용하는 방법

소개:
컴퓨터 비전 및 이미지 처리 분야에서 이미지 가장자리 감지는 이미지의 가장자리와 윤곽을 식별하는 중요한 기술이며, 이미지 스트로크는 가장자리 선을 추가합니다. 이미지를 더욱 눈길을 끌고 눈에 띄게 만들 수 있습니다. 이 기사에서는 PHP 및 OpenCV 라이브러리를 사용하여 이미지 가장자리 감지 및 스트로크를 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. 준비
이미지 가장자리 감지 및 추적을 위해 PHP 및 OpenCV 라이브러리를 사용하려면 다음 단계에 따라 준비해야 합니다.

  1. PHP 및 OpenCV 라이브러리 설치: 먼저 PHP 및 OpenCV 라이브러리가 설치되어 있는지 확인하세요. . 터미널에 다음 명령을 입력하여 PHP 및 OpenCV 라이브러리가 설치되었는지 확인할 수 있습니다.

    php -v

    설치되어 있지 않은 경우 다음 명령을 사용하여 PHP 및 OpenCV 라이브러리를 설치할 수 있습니다.

    sudo apt-get install php
    sudo apt-get install php-opencv
  2. 테스트 이미지 가져오기: 테스트 이미지를 준비하려면 인터넷에서 다운로드하거나 자신의 사진을 사용할 수 있습니다. 이미지가 PHP 파일과 동일한 디렉터리에 있는지 확인하고 이름을 "test.jpg"로 지정하세요.

2. 이미지 가장자리 감지
먼저 이미지 가장자리 감지를 위해 PHP 및 OpenCV 라이브러리를 사용하는 방법을 소개합니다. 다음은 이 단계를 구현하는 코드 예제입니다.

<?php
// 加载图像
$image = cvimread("test.jpg");
// 转换为灰度图像
$gray = cvcvtColor($image, CV_BGR2GRAY);
// 进行边缘检测
$edges = cvCanny($gray, 50, 150);
// 显示结果
cvimshow("Edges", $edges);
cvwaitKey();
?>

위 코드에서 "test.jpg" 이미지는 먼저 cvimread 함수를 사용하여 로드됩니다. 그런 다음 cvcvtColor 함수를 사용하여 이미지를 회색조 이미지로 변환합니다. 이는 회색조 이미지에서 가장자리 감지가 수행되는 경우가 많기 때문입니다. 다음으로 cvCanny 함수를 사용하여 에지 감지를 수행합니다. 여기서 50과 150은 각각 임계값의 낮은 임계값과 높은 임계값을 나타냅니다. 마지막으로, cvimshow 함수를 사용하여 감지된 가장자리를 표시하고, cvwaitKey 함수를 사용하여 표시 창을 닫기 전에 사용자가 아무 키나 누를 때까지 기다립니다.

3. 이미지 스트로크
다음으로 PHP 및 OpenCV 라이브러리를 사용하여 이미지를 스트로크하는 방법을 소개합니다. 다음은 이 단계를 구현하는 코드 예제입니다.

<?php
// 加载图像
$image = cvimread("test.jpg");
// 转换为灰度图像
$gray = cvcvtColor($image, CV_BGR2GRAY);
// 进行边缘检测
$edges = cvCanny($gray, 50, 150);
// 转换为彩色图像
$color = cvcvtColor($edges, CV_GRAY2BGR);
// 使用矩形框标记边缘
$contours = cvindContours($edges, cvCV_RETR_EXTERNAL, cvCV_CHAIN_APPROX_SIMPLE);
cvdrawContours($color, $contours, -1, [0, 255, 0], 2);
// 显示结果
cvimshow("Edges with Contours", $color);
cvwaitKey();
?>

위 코드에서는 이미지 가장자리 감지와 동일한 단계가 먼저 수행됩니다. 그런 다음 cvcvtColor 함수를 사용하여 가장자리 이미지를 컬러 이미지로 변환합니다. 다음으로 cv indContours 함수를 사용하여 가장자리의 윤곽선을 찾습니다. cvCV_RETR_EXTERNAL은 외부 윤곽선만 반환된다는 의미이고, cvCV_CHAIN_APPROX_SIMPLE은 변곡점 정보만 유지된다는 의미입니다. 마지막으로 cvdrawContours 함수를 사용하여 색상과 선 너비를 지정하여 컬러 이미지의 윤곽선을 표시합니다. 마지막으로 cvimshow 함수는 스트로크가 포함된 이미지를 표시하는 데 사용되며 cvwaitKey 함수는 표시 창을 닫기 전에 사용자가 아무 키나 누를 때까지 기다리는 데 사용됩니다.

요약:
PHP 및 OpenCV 라이브러리를 사용하면 이미지 가장자리 감지 및 스트로크 기능을 쉽게 구현할 수 있습니다. 위에 제공된 코드 예제에서는 PHP 및 OpenCV 라이브러리를 사용하여 이미지를 로드하고, 가장자리 감지를 수행하고, 이미지 유형을 변환하고, 윤곽선을 찾고, 가장자리를 그리는 방법을 보여줍니다. 이 코드를 실행하면 모서리와 윤곽선이 포함된 이미지를 얻을 수 있고 디스플레이 창을 통해 결과를 볼 수 있습니다.

이 기사의 내용이 독자들이 이미지 가장자리 감지 및 추적을 위해 PHP 및 OpenCV 라이브러리를 사용하는 방법을 이해하고 실제 이미지 처리 프로젝트에 적용할 수 있기를 바랍니다. 지속적인 학습과 연습을 통해 영상 처리 능력을 더욱 향상시키고 더욱 복잡하고 효율적인 영상 처리 알고리즘을 개발할 수 있습니다.

위 내용은 PHP 및 OpenCV 라이브러리를 이용한 이미지 가장자리 감지 및 스트로크 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.