亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

OpenCV檢測手寫等號運算符錯誤

OpenCV檢測手寫等號運算符錯誤

慕碼人8056858 2022-01-18 15:42:39
我正在嘗試=使用 OpenCV 庫識別手寫數學運算符,但是,我遇到了一個問題,即它只能識別可以一筆畫出的東西。import cv2import numpy as npfrom PIL import Image, ImageOpsimg = cv2.imread("sum.png")gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#Gaussian Blurring to reduce noiseblur = cv2.GaussianBlur(gray, (5,5), 0)#Adaptive Thresholding to account for different light/shadowsthreshed = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)morphed = cv2.morphologyEx(threshed, cv2.MORPH_OPEN, np.ones((3,3)))conturs_lst = cv2.findContours(morphed, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[-2]for cnt in conturs_lst:    x,y,w,h = cv2.boundingRect(cnt)    cv2.rectangle(img, (x,y), (x+w, y+h), (255, 0, 255), 1, cv2.LINE_AA)相反,此代碼會導致這種行為,其中等號的兩個部分被限制在單獨的框中。輸入圖像:實際輸出:有誰知道如何修改我的代碼以允許整個等號位于一個邊界框下?
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

你可以嘗試這樣的事情:


cv::namedWindow("result1", cv::WINDOW_FREERATIO);

cv::namedWindow("result2", cv::WINDOW_FREERATIO);

cv::Mat img = cv::imread(R"(FRfLi.png)");


// to gray

cv::Mat gray;

cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY);

cv::threshold(gray, gray, 80, 255, cv::THRESH_BINARY_INV);


cv::morphologyEx(gray, gray, cv::MORPH_CLOSE, cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(3, 27)));

cv::imshow("result1", gray);


std::vector<std::vector<cv::Point> > contours;

cv::findContours(gray, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);


for (int i = 0; i < contours.size(); ++i) {

    cv::Rect rect = cv::boundingRect(contours[i]);

    rect.x -= 3;

    rect.y -= 3;

    rect.width += 6;

    rect.height += 6;

    cv::rectangle(img, rect, cv::Scalar(0, 0, 255), 2);

}


cv::imshow("result2", img);

cv::waitKey();

變形后你會得到這樣的結果:

http://img1.sycdn.imooc.com//61e66f9b0001554603380319.jpg

并檢測輪廓,您將得到以下結果:

http://img1.sycdn.imooc.com//61e66fa60001055b03380319.jpg

注意: 代碼是用 C++ 編寫的,你可以只考慮它是如何實現的步驟。

我希望它可以幫助你!


查看完整回答
反對 回復 2022-01-18
  • 1 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號