USB mouse vs yapmam lazım. (PC yazılımcılarına uyuz oluyorum)

Başlatan z, 04 Haziran 2015, 00:54:46

z

@Peko

Bazı makinelerimize program dahi install etme şansımız yok. Ama bu projemde abartılı işler yapmayacak ufak bir iki şey yükleyebilrim. Fakat bunlar asla internetten indirilen uygulama olamaz.

Eğer program kurulumu yasak  bir makine için ekran karşılaştırma sorununu çözecek olsaydım monitör çıkışlarındaki RGB sinyallerini analog olarak yorumlayan bir devre yapardım. Ne kadar başarılı olurdu dersen devresine bağlı.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yldzelektronik

Bülent abi bi ara Burak abi yine senin benzeri bir sorun için izah etmişti.

Windowsta eventlara falan kanca atabiliyorsun.Senin bahsettiğin formdaki butona bastığında os tarafında olanları tespit edebilirsen, ilgili olayı tekrar oluşturabilirsin.

Veya bahsettiğin makineleri kullanmayacaksan yalnızca form açık duracaksa bir çok uygulamada form üzerindeki bir componente tıklandığında enter tab vs gibi tuşlar kullanımda oluyor.Her makine için birkez mouse ile tıklarsan daha yazacağın minik program klaveyi simüle ederek entere basar.

Buraya kadar biraz zihni sinir oldu.

Şimdi mouse koordinatlarıyla ilgili şöyle bir sorun oluşma olasılığı var.Senin her bilgisayarında aynı çözünürlükte monitör olmayabilir.Dolayısıyla koordinatlar tutmayabilir.Onun yerine ilgili formun üzerindeki koordinatlarını alabiliyorsan çözüm sağlar.Böylece uygulama ekranın neresinde olursa olsun erişebilirsin.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

gumush

Hocam daha karmasik islemleride mouse hareketlerini kaydeden ve tekrar uygulayan programlar ile yapabilirsiniz.
diger alternatif karamel'in dedigi gibi bir yazilimi 1px'lik form haline getirip calistirmak o zamanda ekrandaki koordinatlara rahatlikla tiklayabilecektir.

Degisimi degerlendirme isi dusundugunuzden zor olabilir. Ekranda zaten degisen seylerde olabilir. Eger guvenlik kamera goruntusu ise bunu yapmak dahada zor olabilir. Background subtraction algoritmalari ile kismende olsa yapilabilir.

Diger alternatif yazilimin aldigi yerden bilgileri almak olabilir. Sizin  yazdiginiz program degisimide takip edecek sekilde bilgileri alabilir ( karakter seklinde veriler ise )

ekrandaki degisimi detaylandirabilirseniz fikir uretebiliriz. En monitor karsisina baska bir kamera ile cozulebilir diye dusunuyorum. Ama yinede aklima sistemin neden boyle tasarlandigi sorusu geliyor. Yani ozellikle sistemi kontrol eden kisi uyanik olsun , ekrani gorsun , degerlendirsin gibi bir istek var ise etrafindan dolanmak sorun olabilir.

Hikmet Gumus  izmir

evreno

üstat şu linke bir program attım derme çatma bir şey ama istediklerin içerisinde mevcut
kodları biraz elden geçirip daha verimli de yapılabilir
dar zamanıma denk geldi
sen bir incele gerekirse üzerinde çalışma yaparız
kod vs 2013 de yazıldı diğer sürümlerle de sorun çıkarmaz sanırım

https://drive.google.com/file/d/0B8rG9Be9SBpgblNHa29UQzJZOXM/view?usp=sharing

üstat bu arada pc yazılımcılarının aralarında iyileri de vardır ama denk gelmemiş demek ki  ;D

t2


evreno

Alıntı yapılan: t2 - 04 Haziran 2015, 16:15:51
delfi olması gerek.sevmez bunu.

ben .net de yazıyorum, delphi de yazarım ama uzun zamandır kullanmadım bilgisayar da yüklü bile değil
kodu inceleyip çeviren bir kişi olursa sonuçta delphi de de çalışır

peko

Alıntı Yapabartılı işler yapmayacak ufak bir iki şey yükleyebilrim.

Şuan ki istemiş olduğunuz işi yapacak yazılımı yükleyeceğiniz makinede çalışan işletim sistemi nedir hocam?


" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

peko

Mouse tıklama konusu tamam dersek, 

Resim karşılaştırma işini aşağıdaki şekilde yapmamız bu işlem için yeterli olacaktır diye düşünüyorum.
(Hatta sadece takip etmek istediğimiz sektörleri de alabiliriz.. )

CaptureScreen
using (Bitmap bmpScreenCapture = new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
                                            Screen.PrimaryScreen.Bounds.Height))
{
    using (Graphics g = Graphics.FromImage(bmpScreenCapture))
    {
        g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
                         Screen.PrimaryScreen.Bounds.Y,
                         0, 0,
                         bmpScreenCapture.Size,
                         CopyPixelOperation.SourceCopy);
    }
}



ImageToByteArr
Image img = Image.FromFile(@"C:\dashboard.jpg");
byte[] arr;
using (MemoryStream ms = new MemoryStream())
{
    img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    arr =  ms.ToArray();
}


ArraysEqual
static bool ArraysEqual<T>(T[] a1, T[] a2)
{
    if (ReferenceEquals(a1,a2))
        return true;

    if (a1 == null || a2 == null)
        return false;

    if (a1.Length != a2.Length)
        return false;

    EqualityComparer<T> comparer = EqualityComparer<T>.Default;
    for (int i = 0; i < a1.Length; i++)
    {
        if (!comparer.Equals(a1[i], a2[i])) return false;
    }
    return true;
}


Yazılım background'a sessizce çalışacak.

Her x sürede ;
1- Koordinatlara git - OK
2- Ekranı kaydet. (Resim1) - OK
3- Butona bas. - OK
4- Ekranı kaydet . (Resim2) - OK
5- İki resmi byte arr çevir. - OK
6- Karşılaştır. - OK
7- Fark varsa Dürt!  8)

Hocam değerli ellerinizde kodlanmayı bekliyor diyebiliriz o halde..

Eksik var mı?

" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

engerex


fatih6761

@peko hocam dashboard görüntüsünü jpegden yüklüyorsunuz ya veri
lossy compressiondan geldiğinden direkt byte byte karşılaştırma yapmak
pek doğru olmaz diye düşünüyorum.
Ya kayıpsız sıkıştırma algoritmaları tercih edilmeli (PNG benim tercihim) ya da
resim boyutu resampling ile küçültülüp (ki burada jpegden gelen gürültüyü bertaraf ediyoruz)
pixel değerleri arasındaki farklar toplanarak ne kadar fark olduğu
ölüçülüp bir eşikten sonra uyarılmalı.
Haksız mıyım? :)

z

Madem uğraştınız şu özelliği de eklemek lazım.

Refresh butonuna basıldığında ekran karşılaştırma işlemini askıya al.
X saniye bekle
Ekran karsılastırma işlemini başlat
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mert3162

hocam selam iki resim arasındaki benzerlikleri bulan bir yazılım buldum internette sayın peko'nun yazdıklarına ilaveten eklemek istedim.sizin karşılaştırmalarınızda yüzde yüz doğruluk istediğiniz için içerisindeki kodlardan faydalanabileceğinizi düşündüm

http://www.gokhanakgol.com/2011/07/15/c-ile-2-resim-arasinda-benzerlik-orani-bulmak/

ayrıca online oyunlarda sürekli olarak belli yerlere belirli zamanlarda tıklama yapabilmeyi sağlayan programlar verilmiş bu programların tamamı arkaplanda calışır program makro kaydeder gibi 1 dakikada bir istenilen koordinata gidip sürekli olarak tıklama yapabilir (hatta diyelim mouse a kolunuz çarptı yinede ilgili koordinata zamanı geldiğinde teleport olup tıklar ve eski yerine geri döner) iki resmi byte arr çevirme konusunu bilmiyorum

ghost mouse programını önerebilirim ayrıca aklıma gelen birşey daha var güvenlik kameralarını bağladıkları dvr kayıt cihazları var bu cihazlarda alarm özelliği mevcut rgb kabloyu cctv kamera görüntüsüne cevirebilen bir sistem yaparsanız yani görüntüyü bir kameradan geliyormuş gibi sisteme gösterirseniz alarm menusünü aktif edip ekranda cizeceğiniz zone bölgelerinde bir değişim olduğu zaman alarm çıkışı verdirebilirsiniz hatta bu cihaz ile mail attırabilir cep telefonunuza ekran görüntüsünün gelmesini bile sağlayabilirsiniz.
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

Farukc

Hocam mause makroları var bu konu ile ilgili rahatça işinizi görür..

Örnek program:

[url]https://www.jitbit.com/macro-recorder/mouse-recorder/[/url

peko

Şuan uygulama değil de analiz aşaması olduğu için olabilirite yorumları içerisinde olduğumuzu varsayıyorum.. O nedenle bu kodları henüz test etmedim..

Uygulama aşamasında en iyi algoritma ve metodların kullanılmayı istememiz elbette kaçınılmaz.
Bu aşamaya gelince "en iyi" olarak nitelendirdiğimiz tecrübelerimizi kodlamaya yansıtırız. (jpeg,png vs.. )

Bu metodlar test edilir, iş görürse ve performansı da yeterli gelirse fazla üstüne düşülmez, olmazsa üstüne düşülerek @z hocam'dan geri dönüş alarak yine düzenlemeleri yapabiliriz.

Benim için bu konuda;  "Az satır kod, Az kb akabinde sonuç" önemli.

Çünkü yüksek frekanslı (thread  manage), riskli, yüksek çözünürlükte işlenmesi gereken bir veri olmadığını düşünüyorum.

Maksat @z hocam keyiflensin  8) 

Bizde hobi yapmış olalım.
" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "