[問題] Opencv Cam影像顏色過濾後疊加的問題
看板C_and_CPP (C/C++)作者spidermomo (don't give up!)時間6年前 (2019/05/09 14:48)推噓0(0推 0噓 7→)留言7則, 2人參與討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Opencv 3.1
問題(Question):
我利用inRange方式來過濾cam影像成功後,想要在此影像上繪製有顏色的正方形,
但是卻失敗
餵入的資料(Input):
預期的正確結果(Expected Output):
使用inRange方式過濾影像後,並在此影像上出現有顏色的正方形
錯誤結果(Wrong Output):
連同正方形也變成被過濾後的影像#include <cstdio>
#include <cv.h>
#include <highgui.h>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cam;
cam.open(1);
cam.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));
cam.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cam.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
namedWindow("result", WINDOW_AUTOSIZE);
while(1) {
Mat frame;
cam.read(frame);
if (frame.empty())
break;
Mat srcImage;
srcImage = frame.clone();
Mat hsvImage;
cvtColor(srcImage , hsvImage, CV_BGR2HSV);
Mat hsvThresholdImage;
inRange(hsvImage, Scalar(0, 0, 15), Scalar(360, 255, 175),
hsvThresholdImage);
Mat reszeImg;
cv::resize(hsvThresholdImage, reszeImg,
cv::Size(hsvThresholdImage.cols*2, hsvThresholdImage.rows * 2));
cv::rectangle(reszeImg, cv::Point(150, 40), cv::Point(250, 140),
Scalar(255, 0, 0), -1);
imshow("result", reszeImg);
waitKey(50);
}
destroyWindow("result");
}
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.21.9
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1557384519.A.9C9.html
→
05/09 15:27,
6年前
, 1F
05/09 15:27, 1F
→
05/09 15:27,
6年前
, 2F
05/09 15:27, 2F
→
05/09 15:54,
6年前
, 3F
05/09 15:54, 3F
→
05/09 15:55,
6年前
, 4F
05/09 15:55, 4F
→
05/09 15:56,
6年前
, 5F
05/09 15:56, 5F
→
05/09 16:01,
6年前
, 6F
05/09 16:01, 6F
→
05/09 16:01,
6年前
, 7F
05/09 16:01, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章