1. 보드판 생성 8 * 8 보드판을 만들기 위해 배열을 생성한다. board = [] for i in range(8): boardTemp = [] for j in range(8): boardTemp.append(0) board.append(boardTemp) 2. 기본 돌 세팅 othello 게임을 보면 기본 세팅이 되어있는 상태로 나온다. halfWidth = int(len(board) / 2) - 1 halfHeight = int(len(board[0]) / 2) - 1 board[halfWidth][halfHeight] = 1 board[halfWidth][halfHeight+1] = 2 board[halfWidth+1][halfHeight] = 2 board[halfWidth+1][halfHei..
opencv 이미지 처리 과정 중 궁금한 것들 정리해보려고 한다. 이미지에서 바둑판모양을 추출하려고 알아보니 다음과 같은 설명이 나왔다. 1. 왜 사진을 흑백이미지로 변환할까 ? - 컬러이미지의 경우 RGB 3개의 채널을 사용하는데 흑백 이미지의 경우 1개의 채널을 사용하기 때문에 이미지 처리 속도가 1/3 가량 빨라진다고 한다. - grayscale 로 변환하는 것 외로 HSV(색상, 명도, 채도), YUV(밝기, 색상차) 등이 있다. 2. blur 처리는 왜 하는 것일까 ? - 기존 이미지에 필터를 합성(2D convolution)하여 이미지를 변형하는데 노이즈를 제거하는데 유용하며 이미지가 매끈하게 보이는 효과를 낸다고하여 smoothing 이라고도 불린다. - 노이즈를 제거하는 방법으로는 평균을 ..
opencv.js에서 어떻게 이미지를 읽고 웹에 표시하는지에 대해 공부해보았다. HTML HTML 요소는 다음과 같이 설정했다. click button READ an image opencv.js 는 이미지를 cv.Mat 타입으로 저장한다. HTML의 canvas 요소를 cv.Mat로 받을 수 있고 역도 성립한다. ImageData 인터페이스는 canvas 요소 영역의 기본 픽셀 데이터를 표현, 설정할 수 있다. 1. 이미지 데이터 객체를 캔버스로 부터 생성하기 html 요소가 canvas가 아닌 경우 file이 업로드 되었을 때 img의 src를 file의 src로 넣어준다. e.target.files = FileList {0: File, length: 1} File: {name: 'dog.jpg', l..
openCV는 Open Source Computer Vision의 약자로 영상,이미지 처리에 사용할 수 있는 오픈 소스 라이브러리이다. 머신러닝 관련 부분에도 활용도를 높여가고 있다. openCV.js 사용 opencv.js의 사본을 얻는 방법으로 https://docs.opencv.org/4.5.0/opencv.js 를 참고하였다. 코드는 https://docs.opencv.org/4.x/d0/d84/tutorial_js_usage.html 을 참고하였다. Hello OpenCV.js OpenCV.js is loading... imageSrc canvasOutput openCV Template Matching 사용자의 입력 이미지에서 머신러닝 없이 원하는 부분의 객체가 어디에 위치하는지 알아보다 ope..