Chào mọi người.
Mình dùng OpenCV 3.4.1 và Visual Studio 2017 để xử lý ảnh và video nhưng không tìm thấy tập lệnh về xử lí ảnh, video trong tài liệu nào. Bạn nào có thì cho mình xin link. rất cảm ơn mọi người đã đọc
Tập lệnh của OpenCV trên Visual studio 2017
https://docs.opencv.org/2.4/modules/refman.html
https://docs.opencv.org/3.4/d6/d00/tutorial_py_root.html
4 Likes
Chào em. Anh muốn xem phiên bản openCV thì là thế nào nhỉ?
Ý anh muốn kiểm tra phiên bản đang dùng hay tìm doc ?
Nếu là kiểm tra phiên bản đang dùng thì cách đơn giản nhất là nhìn tên các dll, lib thường có version.
Khi biết version rồi thì google anh tìm đến doc trên trang opencv thôi.
4 Likes
Đúng rồi. anh muốn kiểm tra phien bảo openCV đang dùng
cám ơn em rất rất nhiều
bạn nào giải thích giúp mình các câu lệnh trong đoạn code sau ko? nó không chạy mặc dù biên dịch không có lỗi
int main(int argc, char **argv)
{
const string about =
"This sample demonstrates the meanshift algorithm.\n"
"The example file can be downloaded from:\n"
" https://www.bogotobogo.com/python/OpenCV_Python/images/mean_shift_tracking/slow_traffic_small.mp4";
const string keys =
"{ h help | | print this help message }"
"{ @image |<none>| path to image file }";
CommandLineParser parser(argc, argv, keys);
parser.about(about);
if (parser.has("help"))
{
parser.printMessage();
return 0;
}
string filename = parser.get<string>("@image");
if (!parser.check())
{
parser.printErrors();
return 0;
}
VideoCapture capture(filename);
if (!capture.isOpened()) {
//error in opening the video input
cerr << "Unable to open file!" << endl;
return 0;
}
Mat frame, roi, hsv_roi, mask;
// take first frame of the video
capture >> frame;
// setup initial location of window
Rect track_window(300, 200, 100, 50); // simply hardcoded the values
// set up the ROI for tracking
roi = frame(track_window);
cvtColor(roi, hsv_roi, COLOR_BGR2HSV);
inRange(hsv_roi, Scalar(0, 60, 32), Scalar(180, 255, 255), mask);
float range_[] = { 0, 180 };
const float* range[] = { range_ };
Mat roi_hist;
int histSize[] = { 180 };
int channels[] = { 0 };
calcHist(&hsv_roi, 1, channels, mask, roi_hist, 1, histSize, range);
normalize(roi_hist, roi_hist, 0, 255, NORM_MINMAX);
// Setup the termination criteria, either 10 iteration or move by atleast 1 pt
TermCriteria term_crit(TermCriteria::EPS | TermCriteria::COUNT, 10, 1);
while (true) {
Mat hsv, dst;
capture >> frame;
if (frame.empty())
break;
cvtColor(frame, hsv, COLOR_BGR2HSV);
calcBackProject(&hsv, 1, channels, roi_hist, dst, range);
// apply meanshift to get the new location
meanShift(dst, track_window, term_crit);
// Draw it on image
rectangle(frame, track_window, 255, 2);
imshow("img2", frame);
int keyboard = waitKey(30);
if (keyboard == 'q' || keyboard == 27)
break;
}
}