folder Tahribat.com Forumları
linefolder Python
linefolder Python İle Resim Pixel Yoğunluğunu Okuma ?



Python İle Resim Pixel Yoğunluğunu Okuma ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    italyan bunu yazdı
    ltcelik bunu yazdı

    Filin neresini tutarsanız orasını görürsünüz..

      

    Konu nasıl buraya geldi

    Konu hep burdaydı.. ama kimileri farkında değiller.. 


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mx0TBT
    Mx0TBT's avatar
    Kayıt Tarihi: 13/Haziran/2007
    Erkek

    itcelik hocam görüntüyü 2 bit indiriyorum.

    ölçek kısmını 10 pixel olarak yaparsam sağlıklı olacağını düşünüyorum.

     

    Kadane’s Algorithm den heralde olayı çözücem

    sonucu yazarım :)

    Herkese teşekkür ederim.


    Aslında hepimiz eksiğiz biraz Leylası olmayan mecnunlarız Ne sıcacık bir ismail abimiz var. Nede kötü zamanda Yanımızda olan İskender babamız Ne mahellemizi mahalle yapan Erdal bakkalımız ne her kapıyı açan yavuz abimiz nede bize doğru yolu gösteren dedemiz.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    9 piksel daha mantıklı değil mi?

    1 piksel ve çevresindekiler..

     


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Hocam kafandaki algoritmayi degil de tam olarak ne yapmak istedigini aciklayabilir misin? Bu siyah goruntuyu mu yakalamak istiyorsun?


    There are 10 types of people in the world. Those who knows binary and those who dont...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    ben anladığım kadarı ile yatay ve dikey histogram istiyor


    |sadece aptalların başarısı ders notu ile ölçülür|
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RitmFarbRacourci
    RitmFarbRacourci's avatar
    Kayıt Tarihi: 14/Mart/2008
    Erkek
    unbalanced bunu yazdı

    soruyu tam anlamamakla birlikte anladigim kadariyla cevaplayayim :)

    pixelleri yatay ve dikey olarak saydirip yazdirmissin (o verileri dikey ve yatay histogram gibi düsünebiliriz) ve en cok yogunlugun hangi aralikta oldugunu bulmaya calisiyorsun..

    Böyle ise: su sekil bir sey yapabilirsin..

    Öncelikle bu araligi nasil dinamik yaparsin onu bilmiyorum ancak sabit aralik üzerinden gidersek yani 4 index deger araligina bakarak gitmek istersen

    dizinin ilk 4 elemanindan baslayarak toplayacaksin

    var max=0, baslangic=0, bitis=0;

    Döngü

    var sonuc dizi[i] +dizi[i+1] +dizi[i+2] +dizi[i+3]

    if(sonuc>max)

    {

      baslangic = i;

      bitis = i+3;

    }

    i++;

    --- Döngü bitti

    print(En cok pixel araligi Baslangic ve Bitis. Toplam pixel: max)  (^^D`)

     

    kisaca aciklarsam, ilk Dört Elemani aliyorsun ve Sayisal Degerlerine bakiyorsun, ve Max degeri ile karsilaştiriyorsun, Max degeri en Yüksek pixel Sayisini tutuyor. eger max'tan büyükse, o Araligi baslangic ve bitis Degerlerine yaziyorsun, ve max degerine Toplam pixel Sayisini yaziyorsun. Daha sonra diziyi 1 kaydiriyorsun, ayni islemi 2. eleman'dan itibaren toplam 4 Eleman alip yapiyorsun.. daha sonra yine bir kaydiriyorsun.. döngü sartini, toplam yatay ve dikey index sayisina göre belirleyeceksin, vee istersen 4'lü gruplara ayirmak yerine, toplam Yatay ve Dikey İndex sayisi kaca Tam bölünüyorsa ona göre yapabilirsin, yani 3'e tam bölünüyorsa 3 sayisinin toplamina bakarsin, 4 e tam bölünüyorsa üstte yaptigim gibi (dizi[0] + dizi[1]... gibi ) 4 sayinin toplamina, 5 e bölünüyorsa 5 sayinin toplamina.. bunlardan baska biriyse en standard olarak 3 ya da 4 sayiyi toplarsin..

    umarim anlatabilmisimdir :)

    kolay gelsin

    @@,} 

    ~@~

    yanlış anlamadıysam. renklerden bağımsız, siyah beyaz tonu'na bakarak, cismin 2boyutlu bir Düzlemde, hangi yöne gitmeye çalıştığını , bulmaya çalışıyor gibi. yanlış mı anladım?

    Kollar ve Bacaklar biraz sıkıntı gibi mi?

    bir de, yatayda, x doğrusunda mı hareket gerçekleşiyor, yada ara yönlerde de gidebiliyor mu?

    yada yoğun olan Alan'ın merkezi'nin nereye doğru gittiğininin doğrusal olmayan grafiğini mi çizdiriyor?

    yada ben yanlış anladım. kafam döndü ^^`

     

    RitmFarbRacourci tarafından 11/Haz/20 18:41 tarihinde düzenlenmiştir

    I'şıkY'ılı;^^`) Zk't^^` RnSySyTk.Ödl.SpRtÇzBşBkYd Kryptia.agogE Sa'd-l'Suûd az.ç'k 'lmyn'Dşn Pnct'tnAnNttn Blgi,YpBlgi 'Ct'nDrm.CmdyDrm.MdrnDrm hRşYdşR ClptcPth'Strsm M'nPhs' Ld,X/Y YrYnZmnGrçklk,AlgBzklğ KrzFrst'tr Tiytr' Pugchv,Jtrn,İmmlmn,FllngLef,Pik' SuprmcySprrty CoBehTh elFnmno:NzrioRonldo AdnKy TkSs,TkHrf(?) .RtNsTk.KvMp.Mk.TrmDyn ScklkNmRzgr ŞkHcBy ccp.kky Snrlr'Çz SnaSnLzmsn 'NsnKsknçtr BgDppr.MagllnCl'ds.S'thCro's Ch'kW'ng CreazioneDiAdamo^^`, Arctrs.Spic' ArcScnd,YySnye TrbProp,TrbJet,TrbFan ~3.10^5km/sn~343m/sn ~900-1240m/snMacH RamJt,ScRamJt Przdi^^' Tbu.XL Prsek MAtv^^` mLAT G'dWllHnting(f). 3id't^^` TareZmenPr ParaMotor TrflrVArsİlşklr (-)+.(/)*,~ ZminŞkil . ..Bu imza @SubZero tarafindan degistirilmistir. "Bu kadar uzun karmakarisik bir imza yapma diye uyardim ama heeheeeey(^^D)_hey kim söylüyor, kim dinliyor." Imzanizi SubZero'ya bilgi vermeden degistirmeyiniz. Tesekkurler...
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mx0TBT
    Mx0TBT's avatar
    Kayıt Tarihi: 13/Haziran/2007
    Erkek

    Merhaba, el çizimi ok işaretleridir.

    Yön olarak ise 2 boyutlu duzlemde, sol dan sağa veyaaveya yukarı veya tam tersleri.

    Eğer en dolu eksen x ise yön ya yukarı yada aşağı olmalı.

    Y ekseninden bakınca yoğunluk x ekseninne yakın ise ve yoğunl olmayan x eksenin uzak ise ok yukarı yönlüdür gibi


    Aslında hepimiz eksiğiz biraz Leylası olmayan mecnunlarız Ne sıcacık bir ismail abimiz var. Nede kötü zamanda Yanımızda olan İskender babamız Ne mahellemizi mahalle yapan Erdal bakkalımız ne her kapıyı açan yavuz abimiz nede bize doğru yolu gösteren dedemiz.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mx0TBT
    Mx0TBT's avatar
    Kayıt Tarihi: 13/Haziran/2007
    Erkek

    edit, tekrardan koyucam

     

    import os
    import cv2
    import numpy as np
    import sys
    from matplotlib import pyplot as plt
    from PIL import Image
    from numpy import asarray
    
    
    def yonbulma(imgname,yb1,yb2,xb1,xb2):
        
        sys.path.append("..")
        IMAGE_NAME = imgname
        CWD_PATH = os.getcwd()
        PATH_TO_IMAGE = os.path.join(CWD_PATH,IMAGE_NAME)
    
        image = cv2.imread(PATH_TO_IMAGE)
        cropimg = image[yb1:yb2, xb1:xb2]
        cv2.imwrite('crop.jpg', cropimg)
    
    
    ########## 2 renk çeviri
    
        im = Image.open('crop.jpg').convert('RGB')
    
    # Split into 3 channels
        r, g, b = im.split()
    
    # Increase Reds
        r = r.point(lambda x: 0 if x<128 else 255, '1')
    
    # Decrease Greens
        g = g.point(lambda i: i * 0)
    
    # Decrease Greens
        b = b.point(lambda i: i * 0)
    
    # Recombine back to RGB image
        result = Image.merge('RGB', (r, g, b))
    
        result.save('threshimg.png')
    ########## 2 renk çeviri
    
    
        img = cv2.imread("threshimg.png")
        im = Image.open("threshimg.png")
        immat = im.load()
    
    
    ########## agırlık merkezi
        (X, Y) = im.size
        m = np.zeros((X, Y))
    
        for x in range(X):
            for y in range(Y):
                m[x, y] = immat[(x, y)] != (255, 0, 0)
        m = m / np.sum(np.sum(m))
    
    
    # marginal distributions
        dx = np.sum(m, 1)
        dy = np.sum(m, 0)
    
    # expected values
        dolucx = int(np.sum(dx * np.arange(X)))
        dolucy = int(np.sum(dy * np.arange(Y)))
    
    
    ########## agırlık merkezi
    
    
    
    ########## (pixeli en fazla olan yer konumu yüzde)
        for x in range(X):
            for y in range(Y):
                m[x, y] = immat[(x, y)] != (255, 0, 0)
    
        #print(m)
        xsumlist = np.sum(m, 1) #x ekseni üzerindekileri alt alta topla
        ysumlist = np.sum(m, 0) #y ekseni üzerindekileri alt alta topla
        xsumlist0 = xsumlist[xsumlist != 0] #0 olmayan x ekseni üzerindekileri  değerleri alt alta topla
        ysumlist0 = ysumlist[ysumlist != 0]
        
        #print("x ekseni toplamları",xsumlist)
    
        #Pixlellerde max ve min
        def xmin():
            for i in range(X):
                if xsumlist0[i] > 0:
                    return i
                    break
        def xmax():
            for i in reversed(range(X)):
                if xsumlist[i] > 0:
                    return i
                    break
    
        def ymin():
            for i in range(Y):
                if ysumlist0[i] > 0:
                    return i
                    break
        def ymax():
            for i in reversed(range(Y)):
                if ysumlist[i] > 0:
                    return i
                    break
        print("xmax ", xmax())
        print("ymax ", ymax())
    
        #hesap
        if (xmax()>ymax()):
            alist = xsumlist
            arl = int(xmax()/2)
            eksen = "xeks"
            print("list")
            print(xsumlist)          
            print("(x ekseni üzerinden hesap)")
            print("Bakılan Aralık değeri:",arl)
    
        else:
            alist = ysumlist
            arl = int(ymax()/2)
            eksen = "yeks"
            print("list")
            print(ysumlist)
            print("(y ekseni üzerinden hesap)")
            print("Bakılan Aralık değeri:",arl)
    
    
    
        arlsummax = 50000
        arlsumdeg0 = 0
        imax = 0
        for i in range(0,len(alist)-arl):
            if  alist[i] == 0:
                continue
            arlsumdeg0 = 0
            for x in range(i,i+(arl+1)):
                arlsumdeg0 = arlsumdeg0 + alist[x]
    
            if (arlsumdeg0 < arlsummax):
                imax = i
            arlsummax=min(arlsummax,arlsumdeg0)
            print(i ,arlsumdeg0)
        minimin = imax
        minimax = imax + arl
        print("aralık (Min) değer için:")
        print("bakılan aralık değeri:")
        print("minpixel:",minimin, "maxpixel:", minimax,"aralık toplamı:",arlsummax)
    
    
        
        arlsummax = 0
        arlsumdeg0 = 0
        imax = 0
        for i in range(0,len(alist)-arl):
            if  alist[i] == 0:
                continue
            arlsumdeg0 = 0
            for x in range(i,i+(arl+1)):
                arlsumdeg0 = arlsumdeg0 + alist[x]
    
            if (arlsumdeg0 > arlsummax):
                imax = i
            arlsummax=max(arlsummax,arlsumdeg0)
            print(i ,arlsumdeg0)
        maximin = imax
        maximax = imax + arl
        print("aralık (Max) değer için:")
        print("bakılan aralık değeri:", arl)
        print("minpixel:",maximin, "maxpixel:", maximax,"aralık toplamı:",arlsummax)
    
    
        
    
        if (eksen == "yeks"):
            if ((maximax+maximin)/2 < (minimin+minimax)/2):
                sekilyon= "up"
            else:
                sekilyon = "down"
        else:
            if ((maximax+maximin)/2 > (minimin+minimax)/2):
                sekilyon= "right"
            else:
                sekiyon = "left"
                
        print("Seklin Yönü:", sekilyon)
                
            
            
        
        print("#####################")
    
    
        #cv2.circle(img, (dolucx, dolucy), 1, (0, 255, 0), 1) #yesil
        #cv2.circle(img, (xmaxind, ymaxind), 1, (250, 250, 250), 1)  #beyaz
    
        imgplot = plt.imshow(img)
        plt.show()
    
    yonbulma("test1.jpg", 639, 681, 428, 460)
    



    yonbulma kısmına resim içindeki objenin kordinantlarını yazarsanız....

     

    Mx0TBT tarafından 15/Haz/20 15:52 tarihinde düzenlenmiştir

    Aslında hepimiz eksiğiz biraz Leylası olmayan mecnunlarız Ne sıcacık bir ismail abimiz var. Nede kötü zamanda Yanımızda olan İskender babamız Ne mahellemizi mahalle yapan Erdal bakkalımız ne her kapıyı açan yavuz abimiz nede bize doğru yolu gösteren dedemiz.
Toplam Hit: 3045 Toplam Mesaj: 19
python python liste python matematik