opencv 기반의 간단한 드로잉보드 기능에 대한 자세한 설명
OpenCV는 색상 및 마우스 상호 작용에 대한 기본 설명을 기반으로 복잡한 기능을 구현하는 간단한 명령문을 많이 제공합니다. 간단하지만 프레임을 만드는 단계는 적지 않습니다.
관심 있으신 분들은 제가 진행하는 단계에 따라 작성하셔도 되고, 메인 프로그램에서 직접 코드를 복사해서 실행하셔도 됩니다.
관련 학습 권장사항: python 비디오 튜토리얼
1. 기능
다음 프로그램 작성을 용이하게 하기 위해 드로잉 보드 기능을 지웁니다.
대상 기능: 조정 가능한 색상, 그리기 영역 및 마우스 입력.
2. 프레임워크 구성
두 가지 주요 단계가 있습니다:
1단계: OpenCV의 슬라이더 문 cv.createTrackbar를 사용하여 설정할 수 있는 색상 선택을 만듭니다. cv.createTrackbar에는 총 5개의 매개변수 설정이 있습니다(트랙바 이름, 대상 창 이름, 시작 값 - 기본값, 최대값, 콜백 함수).
#创建画布 img=np.zeros((300,512,3),np.uint8) #给画布命名——需要提供给Trackbar cv.namedWindow("image") #创建RGB三种颜色的Trackbar,返回函数不需要做任何动作 cv.createTrackbar("R","image",0,255,nothing) cv.createTrackbar("G","image",0,255,nothing) cv.createTrackbar("B","image",0,255,nothing) #由于OpenCv里面无按钮函数,所以用0/1来表示开关 switch="0:OFF\n1:ON" cv.createTrackbar(switch,"image",0,1,nothing) #回调函数,不需要做任何操作 def nothing(x): pass
2단계: 마우스 동작 상태를 캡처하고 마우스 동작에 따라 그리기 영역에 그래픽을 그립니다. 일반적인 마우스 조작 명령문은 *events = [i for i in dir(cv) if 'EVENT' in i]* 명령문을 사용하여 Python에서 볼 수 있습니다.
#设置一个是否开始画画的开关 drawing=False #定义画画函数 def draw(event,x,y,flag,param): #将画画开关作为全局变量,以便于在每次动作以后改变它的值 global drawing #使用函数cv.EVENT_LBUTTONDOWN,如果鼠标左键按下,画圆,同时drawing为真 if event==cv.EVENT_LBUTTONDOWN: cv.circle(img,(x,y),3,(g,b,r),-1) drawing=True #如果鼠标移动,进行下面操作 elif event==cv.EVENT_MOUSEMOVE: #如果drawing为真,开始画圆 if drawing==True: cv.circle(img, (x, y), 3, (g, b, r), -1) #如果鼠标左键抬起,画最后一个圆,并将drawing设为False,此时就会停止画画 elif event==cv.EVENT_LBUTTONUP: cv.circle(img,(x,y),3,(g,b,r),-1) drawing=False
3. 주요 기능
주요 기능은 위의 두 부분을 통합하는 것입니다.
while(1): #展示画布 cv.imshow("image",img) #设置终止按钮,为了保证在32/64位系统或者在不是ASCII编码的键盘上有正常的操作,使用&0xFF取低八位 k=cv.waitKey(1)&0xFF #如果k为27,即键盘上Esc的ASCII编码序号,退出画板 if k==27: break #获取每个Trackbar中的值 r=cv.getTrackbarPos("R","image") g = cv.getTrackbarPos("G", "image") b = cv.getTrackbarPos("B", "image") s = cv.getTrackbarPos(switch, "image") #如果开关是0,清空画板并禁止画画,如果是1,则允许 if s==0: img[:]=0 else: cv.setMouseCallback("image", draw) #最后不要忘记销毁窗口 cv.destroyAllWindows()
4. 실행 효과
5. 요약
이 간단한 스케치패드에서 주로 마우스 기능인 cv.setMouseCallback과 두 가지 기본 OpenCV 기능인 cv.createTrackbar를 살펴보았습니다. 세부 사항을 확인하고 주의가 필요한 사항을 알아냈습니다.
6. 일반 절차
import cv2 as cv import numpy as np def nothing(x): pass img=np.zeros((300,512,3),np.uint8) cv.namedWindow("image") cv.createTrackbar("R","image",0,255,nothing) cv.createTrackbar("G","image",0,255,nothing) cv.createTrackbar("B","image",0,255,nothing) switch="0:OFF\n1:ON" cv.createTrackbar(switch,"image",0,1,nothing) drawing=False def draw(event,x,y,flag,param): global drawing if event==cv.EVENT_LBUTTONDOWN: cv.circle(img,(x,y),3,(g,b,r),-1) drawing=True elif event==cv.EVENT_MOUSEMOVE: if drawing==True: cv.circle(img, (x, y), 3, (g, b, r), -1) elif event==cv.EVENT_LBUTTONUP: cv.circle(img,(x,y),3,(g,b,r),-1) drawing=False while(1): cv.imshow("image",img) k=cv.waitKey(1)&0xFF if k==27: break r=cv.getTrackbarPos("R","image") g = cv.getTrackbarPos("G", "image") b = cv.getTrackbarPos("B", "image") s = cv.getTrackbarPos(switch, "image") if s==0: img[:]=0 else: cv.setMouseCallback("image", draw) cv.destroyAllWindows()
위 내용은 opencv 기반의 간단한 드로잉보드 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











특정 코드 예제가 필요한 OpenCV 튜토리얼을 쉽게 설치하려면 pip 명령을 사용하세요. OpenCV(OpenSource 컴퓨터 비전 라이브러리)는 개발자가 이미지를 빠르게 구축하는 데 도움이 되는 수많은 컴퓨터 비전 알고리즘과 기능을 포함하고 있습니다. 및 비디오 처리 관련 애플리케이션. OpenCV를 사용하기 전에 먼저 OpenCV를 설치해야 합니다. 다행스럽게도 Python은 타사 라이브러리를 관리할 수 있는 강력한 도구인 pip를 제공합니다.

1. 이미지 피라미드의 이론적 기초 이미지 피라미드는 이미지의 다중 스케일 표현의 일종으로, 여러 해상도의 이미지를 설명하는 데 효과적이면서도 개념적으로 간단한 구조입니다. 이미지 피라미드는 피라미드 모양으로 배열되고 동일한 원본 이미지에서 파생된 점점 더 낮은 해상도를 갖는 이미지 모음입니다. 이는 래더 다운 샘플링을 통해 얻어지며, 특정 종료 조건에 도달할 때까지 샘플링이 중단되지 않습니다. 이미지를 레이어별로 피라미드와 비교합니다. 레벨이 높을수록 이미지는 작아지고 해상도는 낮아집니다. 그렇다면 이미지 피라미드를 만드는 이유는 무엇입니까? 픽셀 크기를 변경해도 특성이 변하지 않는 경우가 있기 때문입니다. 예를 들어 1000만 픽셀의 사진을 보여주면 그 안에 사람이 있다는 것을 알 수 있습니다. 그 안에 사람이 있다는 것도 알 수 있지만 계획에 어긋납니다.

OpenCV는 컴퓨터 비전 및 이미지 처리를 위한 오픈 소스 라이브러리로, 기계 학습, 이미지 인식, 비디오 처리 및 기타 분야에서 널리 사용됩니다. OpenCV를 사용하여 개발할 때 프로그램을 더 효과적으로 디버깅하고 실행하기 위해 많은 개발자는 강력한 Python 통합 개발 환경인 PyCharm을 선택합니다. 이 문서에서는 PyCharm 사용자에게 특정 코드 예제와 함께 OpenCV 설치 튜토리얼을 제공합니다. 1단계: Python 설치 먼저 Python이 설치되어 있는지 확인하세요.

1. 프로젝트 효과 2. 핵심 프로세스 1. openCV는 비디오 스트림을 읽고 그림의 각 프레임에 직사각형을 그립니다. 2. 미디어파이프를 사용하여 손가락 키 포인트 좌표를 얻습니다. 3. 손가락의 좌표 위치와 직사각형의 좌표 위치를 기반으로 손가락 포인트가 직사각형 위에 있는지 확인합니다. 그렇다면 직사각형이 손가락의 움직임을 따릅니다. 3. 코드 프로세스 환경 준비: python:3.8.8opencv:4.2.0.32mediapipe:0.8.10.1 참고: 1. opencv 버전이 너무 높거나 낮으면 카메라가 열리지 않거나 충돌하는 등 일부 문제가 발생할 수 있습니다. 등. Python 버전은 opencv 선택적 버전에 영향을 미칩니다. 2. pipinstallmediapipe로 인해 op가 발생할 수 있습니다.

JavaOpenCV 라이브러리의 org.opencv.imgproc 패키지에는 입력 이미지를 처리하는 다양한 방법을 제공하는 Imgproc라는 클래스가 포함되어 있습니다. 이미지에 기하학적 모양을 그리는 일련의 방법을 제공합니다. 화살표 선을 그리려면 이 클래스의 arrowedLine() 메서드를 호출해야 합니다. 이 메서드는 다음 매개 변수를 허용합니다. 선을 그릴 이미지를 나타내는 Mat 개체. 선 사이의 두 점을 나타내는 Point 개체입니다. 선 색상을 나타내는 Scalar 객체입니다. (BGR) 선 두께를 나타내는 정수입니다(기본값: 1). 예 importorg.opencv.core.Core;importo

PHP 및 OpenCV 라이브러리를 사용하여 비디오 처리를 구현하는 방법은 무엇입니까? 개요: 비디오 처리는 현대 과학 기술 응용 분야에서 중요한 기술이 되었습니다. 이 기사에서는 OpenCV 라이브러리와 결합된 PHP 프로그래밍 언어를 사용하여 몇 가지 기본 비디오 처리 기능을 구현하고 해당 코드 예제를 첨부하는 방법을 소개합니다. 키워드: PHP, OpenCV, 비디오 처리, 코드 예제 서론: 인터넷의 발달과 스마트폰의 대중화로 인해 비디오 콘텐츠는 사람들의 삶에 없어서는 안될 부분이 되었습니다. 하지만 영상 편집을 위해서는

이미지 분할 및 추출: 전경 객체는 이미지에서 대상 이미지로 분할되거나 추출됩니다. 배경 자체에는 관심이 없으며, Watershed 알고리즘과 GrabCut 알고리즘을 사용하여 이미지를 추출합니다. 유역 알고리즘을 사용하여 이미지 분할 및 추출을 수행합니다. 유역 알고리즘은 이미지를 지리적 지형 표면과 생생하게 비교하여 이미지 분할을 달성하는 데 매우 효과적입니다. 알고리즘 원리 모든 회색조 이미지는 지리적 지형 표면으로 간주될 수 있습니다. 회색조 값이 높은 영역은 산봉우리로 볼 수 있고, 회색조 값이 낮은 영역은 계곡으로 볼 수 있습니다. 왼쪽 이미지는 원본 이미지이고, 오른쪽 이미지는 해당 "지형학적 표면"입니다. 이 프로세스는 이미지를 유역과 유역 선이라는 두 가지 세트로 분리합니다. 우리가 건설한 댐은 유역선, 즉 원본 이미지입니다.

PyCharm은 JetBrains에서 개발한 강력한 Python 통합 개발 환경(IDE)으로 Python 개발자가 코드를 작성하고, 프로그램을 디버그하고, 프로젝트를 관리하는 데 도움이 되는 다양한 기능과 도구를 제공합니다. PyCharm에서 강력한 컴퓨터 비전 라이브러리인 OpenCV를 사용하면 이미지 처리, 비디오 처리 및 기타 작업을 쉽게 수행할 수 있습니다. 이 문서에서는 PyCharm에서 OpenCV를 설치 및 구성하는 단계를 자세히 설명하고 특정 코드 예제를 제공합니다. 1.안
