- •Задание
- •Выполнение задание 1: Выполните сглаживание изображений с помощью различных фильтров. Сравните результаты численно и количественно.
- •Результаты:
- •Фрагмент кода выполнения
- •Задание 2: Изучите морфологические операции над изображениями, выполните фильтрацию тонких линий с помощью морфологических фильтров.
- •Результаты:
- •Фрагмент кода выполнения
- •Задание 3: Работа с подобластями. Измените яркость и контраст заданной части изображения. Впишите в одно изображение другое меньшего размера.
- •Результаты:
- •Фрагмент кода выполнения
- •Задание 4: Постройте гистограмму изображения. Примените эквализацию гистограммы.
- •Результаты:
- •Фрагмент кода выполнения
- •Задание 5: Используйте преобразование Хау для поиска прямых на изображении.
- •Результаты:
- •Фрагмент кода выполнения
- •Задание 6: По найденным прямым постройте аффинное преобразование и выровняйте изображение.
- •Фрагмент кода выполнения
- •Список используемых источников
Фрагмент кода выполнения
//========================================================================================
// матрицы трансформации
cv::Mat rot_mat(2, 3, CV_32FC1);
cv::Mat rot_dst = cv::Mat::zeros(src.rows, src.cols, src.type());
// вращение относительно центра изображения
CvPoint2D32f center = cvPoint2D32f(src.cols / 2, src.rows / 2);
double angle = 15;
double scale = 1;
rot_mat = cv::getRotationMatrix2D(center, angle, scale);
// Set your 3 points to calculate the Affine Transform
// srcTri[0] = cv::Point2f(0, 0);
// srcTri[1] = cv::Point2f(src.cols - 1, 0);
// srcTri[2] = cv::Point2f(0, src.rows - 1);
// dstTri[0] = cv::Point2f(src.cols*0.0, src.rows*0.33);
// dstTri[1] = cv::Point2f(src.cols*0.85, src.rows*0.25);
// dstTri[2] = cv::Point2f(src.cols*0.15, src.rows*0.7);
/// Rotate the image
warpAffine(src, rot_dst, rot_mat, rot_dst.size());
/// Show what you got
cv::namedWindow("Source Img", CV_WINDOW_AUTOSIZE);
imshow("Source Img", src);
cv::namedWindow("Rotated Img", CV_WINDOW_AUTOSIZE);
imshow("Rotated Img", rot_dst);
ВЫВОД
В ходе данной лабораторной работы мы освоили на практике: методы сглаживания изображений с помощью различных фильтров. Выполнили морфологические операции над изображениями, фильтрацию тонких линий с помощью морфологических фильтров. Изменили яркость и контраст заданной части изображения, вписывая в одно изображение другое меньшего размера. Построили гистограмму изображения, применяя эквализацию. А также выполнили преобразование Хау для поиска прямых на изображении.
Список используемых источников
Википедия. [Электронный ресурс]/ – Электрон. дан. – OpenCV – Режим доступа: https://ru.wikipedia.org/wiki/OpenCVсвободный. – Загл. с экрана. – Яз. рус.
О-Рейли. [Электронный ресурс]/ – Электрон. дан. – Learning OpenCV 3 – Режим доступа: http://shop.oreilly.com/product/0636920044765.doсвободный. – Загл. с экрана. – Яз. рус.
Робокрафт. [Электронный ресурс]/ – Электрон. дан. – Компьютерное зрение – Режим доступа: http://robocraft.ru/свободный. – Загл. с экрана. – Яз. рус.
Справка по OpenCV. [Электронный ресурс]/ – Электрон. дан. – Режим доступа:http://docs.opencv.org/doc/tutorials/tutorials.htmlсвободный. – Загл. с экрана. – Яз. рус.
Хабрахабр. [Электронный ресурс]/ – Электрон. дан. – Эквализация гистограмм для повышения качества изображений – Режим доступа: http://habrahabr.ru/post/244507/свободный. – Загл. с экрана. – Яз. рус.
Opencv. [Электронный ресурс]/ – Электрон. дан. – Режим доступа: http://opencv.org/свободный. – Загл. с экрана. – Яз. рус.