Ana içeriğe git

Haberler

Konu: Processing ile belirlenen renge göre takip (232 Kez okunmuş) önceki konu - sonraki konu

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.
Processing ile belirlenen renge göre takip
Arkadaşlar çalışma java32bitte yapıldı , 64 olanlar için kütüphane çalıştırmaz.

Kod: [Seç]
/video kütüphanemizi tanımladık
import processing.video.*;

//kameram adında nesnemizi yarattık.

Capture kameram;
color yakin;
int genislik=320;
int yukseklik=240;

//Ana fonksiyonumuzu başlatıyoruz.

void setup()
{
size(320,240);
kameram=new Capture(this,width,height,30);
kameram.start();
//RGB olarak takip edilecek renk değerimizi belirledik
yakin=color(0,0,250);
}
void draw()
{
if(kameram.available()) {
kameram.read();
}

//açacağımız kamera penceresinde her pixeli aktif ettik.

kameram.loadPixels();

//Tek bir ekran olmasını istedik.bunu image(kameram,random.width,random.height) olarak değiştirirseniz ne demek istediğimi anlarsınız.

image(kameram,0,0);

//Karşılaştırma fonksiyonumuz için değer atadık.

float enbuyuk=700;

//takibe başlangıç değerlerinı set ettik.

int yakinx=0;
int yakiny=0;

//satır ve sütun taramasını gerçekleşitiyoruz.

for(int i=0; i<kameram.width; i++)
{
for(int j=0; j<kameram.height; j++)
{

//yer atadık.taramayı genişlikten aldım arkadaşlar.

int yer=i+j*kameram.width;
color anlik=kameram.pixels[yer];

//Burada rgb mantığı renk değlerini aldık.

float kirmizi=red(anlik);
float yesil=green(anlik);
float mavi=blue(anlik);
float _kirmizi=red(yakin);
float _yesil=green(yakin);
float _blue=blue(yakin);
//dist komutu ile aldığımız değerleri karşılaştırdık
float karsilastirma=dist(kirmizi,yesil,mavi,_kirmizi,_yesil,_blue);

//İlk başta değerimize göre durumunu denedik.

if(karsilastirma<enbuyuk)
{
enbuyuk=karsilastirma;
yakinx=i;
yakiny=j;
}}}

//Sağlaması durumunda bulunduğu bölgede bir elipse şekli oluşturması ve içinin o renk ile dolu olmasını sağladık.

if(enbuyuk<300)
{
fill(yakin);
strokeWeight(10.0);
stroke(0);
ellipse(yakinx,yakiny,16,16);
}
}



Çalışma videom;
https://www.youtube.com/watch?v=8vp-tsJieLQ