회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


OpenCV 5-1. 마우스로 도형 그리기 (원형)

푸딩뱃살 | 2020.05.03 00:05 | 조회 719
https://blog.naver.com/samsjang OpenCV의 강좌를
공부 차원에서 재정리한 것입니다.

: 마우스로 도형 그리기 - 더블 클릭하면 랜덤 색상의 원 생성

  • cv2.EVENT_LBUTTONDBLCLK : 마우스 왼쪽 버튼을 더블클릭할 때 이벤트 발생
  • random.shuffle() : 랜덤 수 구하기
  • cv2.namedWindow('') : 창 이름
  • cv2.setMouseCallback() : 이벤트 콜백

# -*- coding: utf-8 -*-
# opencv_008.py
# https://blog.naver.com/samsjang/220501964041

import numpy as np
import cv2
from random import shuffle # 무작위로 섞기 위한 shuffle() 함수

b = [i for i in range(256)]
g = [i for i in range(256)]
r = [i for i in range(256)]

'''
event : 마우스 이벤트
x, y : 마우스 이벤트가 일어난 위치
flags : 플래그 (이 코딩에선 사용 안함)
param : cv2.setMouseCallback() 함수에서 전달받은 사용자 데이터, 이 코딩에선 img가 전달됨
'''
def onMouse(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDBLCLK: # 마우스 왼쪽 버튼을 더블클릭할 때 이벤트 발생
        # shuffle()로 사용하여 0~255값을 가지는 b, g, r 리스트 변수의 값을 무작위로 변경
        shuffle(b), shuffle(g), shuffle(r)
        # 반지름이 50인 원을 그림
        cv2.circle(param, (x,y), 50, (b[0],g[0],r[0]), -1)

def mouseBrush():
    img = np.zeros((512,512,3), np.uint8)
    cv2.namedWindow('paint')
    # 콜백할 함수는 onMouse()이고, 콜백 함수로 전달할 사용자 데이터는 img
    cv2.setMouseCallback('paint', onMouse, param=img)

    while True:
        cv2.imshow('paint', img)
        k = cv2.waitKey(1) & 0xFF

        if k == 27:
            break

    cv2.destroyAllWindows()

mouseBrush()

결과


285개(2/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
265 [Python] OpenCV 8-2. 이미지 블렌딩 (Image Blending) 사진 첨부파일 푸딩뱃살 645 2020.06.02 23:15
264 [Python] OpenCV 8-1. 이미지 연산 처리를 이용한 이미지 합성 사진 푸딩뱃살 673 2020.06.02 23:06
263 [Python] OpenCV 7-5. 이미지를 b/g/r 채널로 분할하기 푸딩뱃살 653 2020.05.17 18:23
262 [Python] OpenCV 7-4. 이미지 채널을 분할하고, 합치기 푸딩뱃살 805 2020.05.17 18:16
261 [Python] OpenCV 7-3. 이미지 영역(Region of Image:ROI) 설정 푸딩뱃살 747 2020.05.17 18:12
260 [Python] OpenCV 7-2. 이미지 속성 얻기 푸딩뱃살 645 2020.05.17 18:08
259 [Python] OpenCV 7-1. 이미지 픽셀 값 얻고 수정 푸딩뱃살 639 2020.05.13 10:22
258 [Python] OpenCV 6. 트랙바(슬라이드바) 활용하기 푸딩뱃살 684 2020.05.03 00:14
257 [Python] OpenCV 5-2. 마우스로 도형 그리기 (직사각형) 푸딩뱃살 692 2020.05.03 00:08
>> [Python] OpenCV 5-1. 마우스로 도형 그리기 (원형) 사진 첨부파일 푸딩뱃살 720 2020.05.03 00:05
255 [Python] OpenCV 4. 폰트 사진 첨부파일 푸딩뱃살 732 2020.05.02 23:59
254 [Python] OpenCV 3. 도형 그리기 사진 첨부파일 푸딩뱃살 700 2020.05.02 23:56
253 [Python] OpenCV 2-2. 비디오 저장하기, 녹화하기 푸딩뱃살 596 2020.05.02 23:53
252 [Python] OpenCV 2-1. 비디오 읽기 / 재생 푸딩뱃살 556 2020.05.02 23:49
251 [Python] OpenCV 1-3. matplotlib 플로팅 라이브러리 푸딩뱃살 745 2020.05.02 23:43
250 [Python] OpenCV 1-2. 키보드 제어와 이미지 저장하기 사진 푸딩뱃살 653 2020.05.02 22:55
249 [Python] OpenCV 1-1. 이미지를 읽고, 화면에 출력 푸딩뱃살 653 2020.05.02 22:06
248 [Python] Cython 푸딩뱃살 1699 2020.04.11 01:26
247 [Python] video to mocap 푸딩뱃살 1346 2020.04.03 10:45
246 [Python] DeprecationWarning: the imp module ~ import imp 푸딩뱃살 2122 2019.11.24 20:37