OpenCV(16)
-
C++ OpenCV OMR인식
OMR 이란? OMR (Optical Mark Recognition)은 광학 마크 인식의 약자. 사람이 표시 한 문서 를 자동으로 분석하고그 결과를 해석 하는 프로세스입니다. OMR 검출을 위한 7단계 1. OMR 시험지가 있는 이미지에서 시험지 검출을 위한 이미지처리 - 이미지 읽기, gray, 흐리게, edge 검출 2. OMR 시험지 사각형 검출 및 이미지 처리 - 원근변환 3. 채점을 위한 다각형(원) 검출 이미지처리 - 이진화, 다각형검출 4. 검출된 다각형(원)을 채점하기 위해 정렬 - sort 5. 어떤 다각형(원)이 채워졌는지 검출 6. 검출된 답과 정답을 표시 및 비교 - 정답은 녹색, 검출된 답은 빨간색 7. 채점결과를 화면에 표시 출처 https://namu.wiki/w/OMR htt..
2021.02.03 -
C# OpenCV QRcode scanner
ZXing.Net 을 이용한 QRcode scanner 프로젝트 -> Nuget 패키지 관리 -> ZXing.Net 설치 실행코드 using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Numerics; using System.Text; using System.Threading.Tasks; using OpenCvSharp; using OpenCvSharp.Blob; using ZXing; namespace QRcodeApp { class Program { static void Main(string[] args) { Mat src = Cv2.ImRead("../../qrcode2...
2021.01.27 -
C++ OpenCV QRcode scanner
QRCodeDetector를 이용한 QRcode scanner 실행코드 #include "opencv2/opencv.hpp" #include using namespace cv; using namespace std; int main(void) { QRCodeDetector detector; Mat frame, gray; frame = imread("qr1.jpg"); if (frame.empty()) { cerr
2021.01.26 -
C++ OpenCV Labeling
이미지 자르기 gray 이진화 라벨링 크기 제한 설정 실습코드 #include #include using namespace cv; using namespace std; int main(int ac, char** av) { Mat img = imread("keyboard.png"); Mat img_resize = img(Range(300, 1200), Range(300, 1200)); //이미지 자르기 Mat img_gray; cvtColor(img_resize, img_gray, COLOR_BGR2GRAY); //gray Mat img_threshold; threshold(img_gray, img_threshold, 100, 255, THRESH_BINARY_INV); //이진화 Mat img_label..
2021.01.20 -
C# OpenCV labeling
실행 코드 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OpenCvSharp; using OpenCvSharp.Blob; namespace KeyboardLabeling { class Program { static void Main(string[] args) { Mat src = new Mat("../../keyboard.png"); Mat bin = new Mat(); Mat binary = new Mat(); src = src.SubMat(new Rect(300, 300, 1000, 1000)); // 이미지 자르기 Cv2.Cvt..
2021.01.19 -
C++ OpenCV Transformation
1. 이미지 확대 & 축소 실행코드 #include "iostream" #include "opencv2/imgproc.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" using namespace std; using namespace cv; int main(int argc, char** argv) { //Mat src = imread("Lenna.png"); Mat src = imread("cloud.jpg"); Mat dst; Mat dst2; pyrUp(src, dst, Size(src.cols * 2, src.rows * 2)); pyrDown(src, dst2, Size(src.cols / 2, src.rows / 2)); ..
2021.01.18