Meat with Onions and Tomatos


$25.95



Shrimps with Tomatos and Avocados


$17.95



Vanila Ice-Cream and Pancakes


$13.95


Blog Archive

Monday, 21 July 2014

Sobel

#include "stdafx.h"
#include <stdio.h>
#include <highgui.h>
#include <cv.h>
#include <cxcore.h>
void main(){ //Sobel edge detection for a video
CvCapture* capture = cvCreateFileCapture("testIP_vid.avi"); //The video is loaded into a pointer of type CvCapture
IplImage* frame; IplImage*gscale_res; IplImage* edgeframe; //Declaration of structure variables to store frames
char *win = "video"; char *winEdge = "edges"; //Declaration of character pointers to store window names
cvNamedWindow(win,CV_WINDOW_AUTOSIZE); //Window is created for original image
cvNamedWindow(winEdge,CV_WINDOW_AUTOSIZE); //Window is created for resultant image
while(1)
{
frame = cvQueryFrame(capture); //Image under consideration is captured as a shot of the video
gscale_res = cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_8U,1);//Creation of the image variable to store both the grayscale intermediate and final result
edgeframe = cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_16S,1); //The 16-bit signed image for the result of the Sobel Edge detection
cvCvtColor(frame,gscale_res,CV_BGR2GRAY); //Gray-scale intermediate created
cvSobel(gscale_res,edgeframe,1,0,3);// Sobel edge detection function is applied on the grayscale image and the result is put in the other variable
cvConvertScaleAbs(edgeframe,gscale_res,1,0); //The 16-bit signed image is converted to an 8-bit unsigned version so it can be displayed
cvShowImage(win,frame); //Original image is shown
cvShowImage(winEdge,gscale_res); //Resultant image with edges detected, is shown
char c = cvWaitKey(33); //This is to account for the frame speed of the loaded video
cvReleaseImage(&gscale_res);
cvReleaseImage(&edgeframe);
if(c==27) //If the character of code 27 or the ESCAPE character is entered, the loop will break
break;
}
cvReleaseCapture(&capture); //Video is released from memory
cvReleaseImage(&frame); //Images released from memory
cvDestroyWindow(win);
cvDestroyWindow(winEdge); //Windows closed
}