Merih Forum

Tam Versiyon: OpenCV ve C++ ile Temel Görüntü Okuma
Şu anda tam olmayan bir versiyonun içeriğine bakıyorsunuz. Tam versiyon'a bakınız.
OpenCV ile resim , video ve webcam'dan görüntü okuma

C++

Kod:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>//cout için gerekli

using namespace std;
using namespace cv;

int main()
{
    //Resim Mat degiskeni olarak tanımlanıp dosya yeri belirtiliyor
   Mat img = imread("BmwM8.jpg");
    if (img.empty())
    {
        cout << "Resim acilamadi" << endl;
    }
    else
    {
        //Pencereyi oluşturuyor
       namedWindow("Resim Okuma", CV_WINDOW_AUTOSIZE);
        imshow("Resim Okuma", img);
        //Bir tusa basılmasını bekliyor
       waitKey(0);
        //Pencere kapanıyor
       destroyWindow("Resim Okuma");
    }
    return 0;
}
  • Kayıtlı bir resmi okuyan kodlar yukarıdadır;

C++

Kod:
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"

using namespace std;
using namespace cv;

int main()
{
    VideoCapture video("soygun.mp4");
    //Verilen yolda dosya bulunamazsa
   if (!video.isOpened())
    {
        cout << "Video acilamadi" << endl;
    }
    //Video'ya başlanacak süreyi milisaniye cinsinden belirtir
   video.set(CV_CAP_PROP_POS_MSEC, 2000);
    double fps = video.get(CV_CAP_PROP_FPS);
    cout << "Video fps sayisi:" << fps << endl;
    //Video Player isimli penceremizi oluşturur
   namedWindow("Video Player", CV_WINDOW_AUTOSIZE);

    //Sonsuz döngüye girer;
   while (true)
    {
        Mat img;
        //Videoyu frame frame okuyor
       bool frameOkundu = video.read(img);
        //Tüm frameler okununca döngüyü bitirir
       if (!frameOkundu)
        {
            cout << "Okunacak frame kalmadi" << endl;
            break; //donguden cik
        }
        imshow("Video Player", img);
        if (waitKey(30) == 27)
        {
            cout << "Esc ile cikis yapildi" << endl;
            destroyWindow("Video Player");
            break;
        }
    }
    getchar();
    system("Pause");
    return 0;
}
  • Kayıtlı videoyu okuyan kodlar yukarıdadır;

C++

Kod:
#include <iostream>

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"

using namespace std;
using namespace cv;

int main()
{
    //Dahili Webcam için 0 değeri kullanılır
   VideoCapture video(0);
    //Webcam açılmazsa
   if (!video.isOpened())
    {
        cout << "Webcam acilamadi" << endl;
    }
    //Penceremizi oluşturduk
   namedWindow("Webcam Player", CV_WINDOW_AUTOSIZE);

    while (true) //sonsuz dongu
    {
        Mat img;
        //Videoyu frame olarak okuyor
       bool frameOkundu = video.read(img);
        //Okunacak frame kalmadıysa döngüden çıkıyor
       if (!frameOkundu)
        {
            cout << "Okunacak frame kalmadi" << endl;
            break;
        }
        imshow("Webcam Player", img);
        if (waitKey(30) == 27)
        {
            cout << "Esc ile cikis yapildi" << endl;
            destroyWindow("Webcam Player");
            break;
        }
    }
    system("Pause");
    return 0;
}
  • Webcam'dan görüntü alan kodlar yukarıdadır ;