Crop elliptical region from image

We know that we can represent image as a matrix, and matrix can not be elliptical. So when you want to crop a elliptical area from an image, then you have to extract the elliptical region and remove rest of the information outside the ellipse. This can be done by AND operation of the image with an elliptical mask.

Steps:
  1. Read the image and convert to gray scale.
  2. Create the elliptical mask. ( use Negative argument to fill the ellipse)
    ellipse( im2, Point( 120, 130 ), Size( 50.0, 60.0 ), 0, 0, 360, Scalar( 255, 255, 255), -1, 8 );
  3. Use AND operation.
  4. Show the result.

Functions:

Example:

-------------
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include<conio.h>


using namespace cv;
using namespace std;

int main()
{
    Mat im1 = imread("Lena.jpg");
    if (im1.empty()) 
    {
        cout << "Cannot load image!" << endl;
        return -1;
    }
 cvtColor(im1, im1, CV_BGR2GRAY);
    imshow("im1", im1);  // Origina image
 
 Mat im2(im1.rows, im1.cols, CV_8UC1, Scalar(0,0,0));
 ellipse( im2, Point( 120, 130 ), Size( 50.0, 60.0 ), 0, 0, 360, Scalar( 255, 255, 255), -1, 8 );
 imshow("im2",im2);  // mask
 
 Mat res;
 bitwise_and(im1,im2,res);     
 imshow("AND",res);  // resultant image

    waitKey(0);
 return 0;
}
-------------
Result:

4 comments:

  1. Hey, great tutorials. Just to add a complement: If you wish to do the same on a 3 channel (color) image, you have to split it first, perform AND on each channel, then merge it. You've got to make a vector to split it into. Cheers!

    ReplyDelete
  2. Does someone know anything about detection with eigenface method
    I need help

    ReplyDelete
  3. Trung tâm dạy kế toán thực tế Tại cầu giấy
    Trung tâm dạy kế toán thực tế Tại từ liêm
    Trung tâm dạy kế toán thực tế Tại thanh xuân
    Trung tâm dạy kế toán thực tế Tại hà đông
    Trung tâm dạy kế toán thực tế Tại long biên
    Trung tâm dạy kế toán thực tế Tại nguyễn chính thanh đống đa
    Trung tâm dạy kế toán thực tế Tại minh khai hai bà trưng
    Trung tâm dạy kế toán thực tế Tại bắc ninh
    Trung tâm dạy kế toán thực tế Tại hải phòng
    Trung tâm dạy kế toán thực tế Tại tphcm
    Trung tâm dạy kế toán thực tế Tại quận 3
    Trung tâm dạy kế toán thực tế Tại thủ đức
    Trung tâm dạy kế toán thực tế Tại đà nẵng
    Trung tâm dạy kế toán thực tế Tại biên hòa
    Trung tâm dạy kế toán thực tế Tại đồng nai
    Trung tâm dạy kế toán thực tế Tại nam định
    Trung tâm dạy kế toán thực tế Tại thái bình
    Trung tâm dạy kế toán thực tế Tại bắc giang
    Trung tâm dạy kế toán thực tế Tại vĩnh phúc
    Trung tâm dạy kế toán thực tế Tại thái nguyên
    Trung tâm dạy kế toán thực tế Tại quảng ninh
    Trung tâm dạy kế toán thực tế Tại hải dương
    Trung tâm dạy kế toán thực tế Tại hưng yên
    Trung tâm dạy kế toán thực tế Tại hà nam
    Trung tâm dạy kế toán thực tế Tại ninh bình
    Trung tâm dạy kế toán thực tế Tại nghệ an
    Trung tâm dạy kế toán thực tế Tại vũng tàu

    ReplyDelete