(links das aufgenommene Bild, rechts die "Pheromonspur")
Mal schauen, wie es bei der nächsten Proteinfütterung aussieht und ob bzw. wie sich da Haupt- und Nebenpfade herausbilden

// lpic - letztes Bild
// pic - aktuelles Bild
// bin_t - Schwellwert zur Binarisierung
// Weichzeichnung
cv::GaussianBlur(pic,pic,Size(5,5));
// Differenz der Bilder
cv::absdiff(lpic,pic,out);
// Schwellwert
cv::threshold(out,out,bin_t,255,0);
antpath.exe -f PFAD_ZU_VIDEODATEI
#include <stdio.h>
#include <iostream>
#include <opencv2/opencv.hpp>
#include <sstream>
using namespace cv;
using namespace std;
int main()
{
int zahl=0,rest=0,zahlrech=0,x,bildnummer=0;
string name,anhang,bildname;
char buffer[50];
name="Bild";
anhang=".jpg";
cout<<"Alle wie viel frames eines speichern?"<<endl;
cout<<"hier eingeben"<<endl;
cin>>x;
namedWindow("Bilder",CV_WINDOW_NORMAL);
//Webcam abrufen
VideoCapture webcam(1);
if (!webcam.isOpened())
{
cout << "geht net!"<<endl;
return(-1);
}
//Endlosschleife (Frames einlesen/speichern und ausgeben
while(1)
{
Mat frame;
webcam.read(frame); // read a new frame from video
imshow("Bilder",frame);
//wandelt int um
sprintf (buffer,"%d",bildnummer);
//erstelt den Datei/speichernamen
bildname= name+buffer+anhang;
rest=zahlrech%x;
if(rest==0)
{
imwrite(bildname, frame);
bildnummer=bildnummer+1;
}
//COUNTER
if(webcam.isOpened())
{
zahl=zahl+1;
zahlrech=zahl;
}
if (waitKey(30) == 27) //wait for 'esc' key press for 30ms. If 'esc' key is pressed, break loop
{
cout << "esc keys is pressed by user" << endl;
break;
}
}
return 0;
}
#include <stdio.h>
#include <iostream>
#include <opencv2/opencv.hpp>
#include <sstream>
using namespace cv;
using namespace std;
int main()
{
int x,webcam_nr,bildnummer=0;
string name,anhang,bildname;
char buffer[50];
name="Bild";
anhang=".jpg";
cout<<"Alle wie viel Sekunden ein Bild speichern?"<<endl;
cout<<"hier eingeben"<<endl;
cin>>x;
cout<<"Welche Webcam Nr?"<<endl;
cout<<"hier eingeben"<<endl;
cin>>webcam_nr;
namedWindow("Bilder",CV_WINDOW_NORMAL);
VideoCapture webcam(webcam_nr);
if (!webcam.isOpened())
{
cout << "geht net!"<<endl;
return(-1);
}
//Endlosschleife (Frames einlesen/speichern und ausgeben
while(1){
Mat frame;
webcam.read(frame); // read a new frame from video
imshow("Bilder",frame);
//wandelt int um (format fuenfstellig mit fuehrenden nullen)
sprintf (buffer,"%05d",bildnummer);
//erstelt den Datei/speichernamen
bildname = name+buffer+anhang;
//rest=zahlrech%x;
imwrite(bildname, frame);
bildnummer++; //zaehlt direkt hoch :) =bildnummer+1;
// der direkte Vergleich in der if Abfrage ging bei mir irgendwie nicht
char k = waitKey(x*1000); //warte einfach die Zeit in Sekunden
if (k == 27) //wait for 'esc' key press for 30ms. If 'esc' key is pressed, break loop
{
cout << "esc keys is pressed by user" << endl;
break;
}
}
return 0;
}
Zurück zu Allgemeines und europäische Ameisenarten
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste