Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Dil Becerileri
Son Forum Aktiviteleri
3Eclipse de eye tracking kullanarak uygulama yardim
Merhaba ben eclipse de bir proje uzerinde calisiyorum. Bu projede ekrani dikey uc esit parcaya boldugumu varsayacagim. Goz takibi uygulamasiyla birinci , ikinci veya ucuncu alana dusen bakis yardimiyla bazi komutlari yapmasini istiyorum. Elimde eye tracking(goz takibi) uygulamasi var ve kamerada gozun konumunu buluyor. Ama algoritma yazarken nereden baslayacagimi bilemedim. Yardimci olursaniz cok sevinirim
ADT de Face Detection
Merhaba ben bi Face detection uygulaması yapmak istiyorum. Uygulama ortamda ışık değişimi olduğunda (mesela kameranın önüne biri geldiğinde ortamdaki ışığı keseceği için) çalışmaya başlayacak ve kişinin yüzünü algılayacak. OpenCv de bu konuyla ilgili bazı kodlar okudum ama açıkçası algoritma açısından benim için çok yararlı olmadı. Bu konuda algoritma olarak mantıksal bir fikir verebilecek veya şu şekilde gidebilirsin şöyle yaparsan daha iyi olur diyebilecek avr mı? Konuyla ilgili bir blog öneriniz de olabilir. Teşekkürler.
Conway's Game of Life
Merhaba Arkadaslar.
Ben Conway's Game of Life adli bir oyunu Java ile eclipse de yazmaya calisiyorum. Bilmeyenler icin kurallari su sekilde :
Hayat oyununun evreni sonsuz iki boyutlu dikey ızgaraların kare hücreleridir. Hücreler iki durumda olabilir: ölü (0) ya da diri(1). Her hücre yatay, dikey veya çapraz omak üzere bitişik olan sekiz komşusuyla doğrudan etkileşir. Herhangi bir hücre için, her zaman adımında aşağıdaki değişikliklerden biri gerçekleşir:
Bir canlı hücrenin, iki'den daha az canlı komşusu varsa "yalnızlık nedeniyle" ölür
Bir canlı hücrenin, üç'ten daha fazla canlı komşusu varsa "kalabalıklaşma nedeniyle" ölür
Bir canlı hücrenin, iki ya da üç canlı komşusu varsa değişmeden bir sonraki nesile kalır
Bir ölü hücrenin tam olarak üç canlı komşusu varsa canlanır.
Olu elemanlar 0 , canlilar 1 ile tanimlanmistir. Program animasyon seklinde calisacaktir ve ben Cerceveyi kapatana kadar dongude kalacaktir. Fakat programda sorun yasiyorum animasyon yapmiyor. Ekte programin ekrana cizdigi animasyonsuz olan hali gorebilirsiniz. Yardimci olabilecek olan var mi acaba ???
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.Transient;
import java.util.Random;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class ConwaysGameOfLife extends JPanel {
private int[][] grid;
private static final Random rnd = new Random();
public ConwaysGameOfLife(int width, int height) {
this.grid = new int[width][height];
setupGrid();
}
private void setupGrid() {
for (int[] row : grid) {
for (int j = 0; j < row.length; j++) {
if (rnd.nextDouble() < 0.92)
continue;
row[j] = rnd.nextInt(2);
}
}
}
public void updateGrid() {
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
countAndDecideDeadOrAlive(i, j);
}
}
}
private void countAndDecideDeadOrAlive(int rowIndex, int columnIndex) {
int counter = 0;
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
counter = 0;
if ((i > 0 && j > 0) && grid[i - 1][j - 1] == '1')
counter++;
if (i > 0 && grid[i - 1][j] == 1)
counter++;
if ((i > 0 && j < grid[i].length - 1)
&& grid[i - 1][j + 1] == 1)
counter++;
if (j > 0 && grid[i][j - 1] == 1)
counter++;
if (j < grid[i].length - 1 && grid[i][j + 1] == 1)
counter++;
if ((j > 0 && i < grid.length - 1) && grid[i + 1][j - 1] == 1)
counter++;
if (i < grid.length - 1 && grid[i + 1][j] == 1)
counter++;
if ((i < grid.length - 1 && j < grid[i].length - 1)
&& grid[i + 1][j + 1] == 1)
counter++;
if (grid[i][j] == 1) {
if (counter > 3 || counter < 2)
grid[i][j] = 0;
} else {
if (counter == 3)
grid[i][j] = 1;
}
}
}
}
public Dimension getPreferredSize() {
return new Dimension(grid.length * 4, grid[0].length * 4);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Color gColor = g.getColor();
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
if (grid[i][j] == 1) {
g.setColor(Color.black);
g.fillRect(j * 10, i * 10, 10, 10);
}
else{
g.drawRect(j * 10, i * 10, 10, 10);
}
}
}
g.setColor(gColor);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Bir row giriniz");
final int row = input.nextInt();
System.out.println("Bir column giriniz");
final int column = input.nextInt();
final ConwaysGameOfLife c = new ConwaysGameOfLife(row, column);
JFrame frame = new JFrame();
frame.getContentPane().add(c);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationByPlatform(true);
frame.setVisible(true);
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
c.updateGrid();
c.repaint();
}
};
Timer timer = new Timer(1000, al);
timer.start();
timer.stop();
}
}