Доброго времени суток.
Дали задание: найти угол наклона объекта (в моём случае лопасти вертолёта) и вывести всё видеопотоком. Используй VS2015 и OpenCV 2.4.13 Нашёл пример на этом сайте : Алгоритм определения угла поворота изображения. Очень помог но возникли проблемы и некоторые я решил, некоторые нет:
В начале она жаловался на строку
pts_mat.at<double>(j,0) = pts[j].x;
решил проблему изменив переменную pts[j].x на contoue[j].x и y соответственно. Позже разгадывал необходимые библиотеки.
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
double angle;
int main();
{
Mat src_mat = imread("E:/work/project/opencv/Find_object/Find_object/blade2.jpg", CV_LOAD_IMAGE_COLOR);
imshow("blade", src_mat);
if (src_mat.empty() == NULL)
{
cout << "File not find!";
}
Mat gry_mat;
cvtColor(src_mat, gry_mat, COLOR_BGR2GRAY);
threshold(gry_mat, gry_mat, 150, 255, CV_THRESH_BINARY);
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;
findContours(gry_mat, contours, hierarchy, CV_RETR_LIST, CV_CHAIN_APPROX_NONE);
int sz = static_cast<int>(contours.size());
for (int i = 0, n = contours.size(); i < n; ++i)
{
const vector<Point> &contour = contours.at(i);
// Отсеиваем слишком маленькие, либо слишком большие.
double area = contourArea(contour);
if (area < 1e2 || 1e5 < area) continue;
// Строим буфер для PCA.
int sz = static_cast<int>(contour.size());
Mat pts_mat = Mat (sz, 2, CV_64FC1);
for (int j = 0; j < pts_mat.rows; ++j)
{
pts_mat.at<double>(j, 0) = contour[j].x;
pts_mat.at<double>(j, 1) = contour[j].y;
}
PCA pca(pts_mat, Mat(), CV_PCA_DATA_AS_ROW);
// В отдельный вектор выносим собственные вектора,
// полученные при помощи PCA.
vector<Point2d> eigen_vecs(2);
for (int j = 0; j < 2; ++j)
{
eigen_vecs[j] = Point2d(pca.eigenvectors.at<double>(j, 0), pca.eigenvectors.at<double>(j, 1));
}
// Искомый угол.
angle = atan2(eigen_vecs[0].y, eigen_vecs[0].x);
cout << "Angin[" << i << "] =" << angle << "\n";
}
return angle;
}
всё срабатывает, высчитывает, но выводиться ошибка
выходит после работы всей программы. Помогите пожалуйста.
необходимые dll : core, highgui, imgproc;
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Стоит ли повсеместно стараться как можно чаще использовать r-value ссылки? Вот, допустим, код:
Доброе время суток! У меня есть проект на Python35, а именно система автоматического тестирования для локальной сети(тестер для олимпиадных задач...
Объясните, пожалуйста, как тут создается структура? Что делает знак двоеточие :?