Minggu, 24 Januari 2016

Color Filtering OpenCV Python Tutorial

Dalam Tutorial OpenCV dengan Python ini, kita akan menutupi cara membuat semacam filter, meninjau kembali operasi bitwise, di mana kita akan menyaring secara khusus warna tertentu, mencoba untuk hanya menunjukkan itu. Atau, Anda bisa juga secara khusus menyaring warna tertentu, dan kemudian menggantinya dengan sebuah adegan, seperti yang kita lakukan dengan mengganti ROI (wilayah gambar) dengan sesuatu yang lain, seperti bagaimana layar hijau bekerja.

Dalam OpenCV ini dengan Python tutorial, kita akan menutupi cara membuat semacam filter, meninjau kembali operasi bitwise, di mana kita akan menyaring secara khusus warna tertentu, mencoba untuk hanya menunjukkan itu. Atau, Anda bisa juga secara khusus menyaring warna tertentu, dan kemudian menggantinya dengan sebuah adegan, seperti yang kita lakukan dengan mengganti ROI (wilayah gambar) dengan sesuatu yang lain, seperti bagaimana layar hijau bekerja.

Dalam rangka untuk menyaring seperti ini Anda memiliki beberapa pilihan. Umumnya, Anda mungkin akan mengkonversi warna Anda untuk HSV, yang merupakan "Hue Saturation Value." Hal ini dapat membantu Anda benar-benar menunjukkan warna yang lebih spesifik, berdasarkan warna dan saturasi rentang, dengan varians dari nilai, misalnya. Jika Anda ingin, Anda benar-benar bisa menghasilkan filter berdasarkan nilai-nilai BGR, tetapi ini akan menjadi sedikit lebih sulit. Jika Anda mengalami kesulitan memvisualisasikan HSV, jangan merasa bingung, periksa halaman Wikipedia pada HSV, ada grafis yang sangat berguna di sana untuk Anda untuk memvisualisasikan itu. Hue untuk warna, saturasi untuk kekuatan warna, dan nilai cahaya.


import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while(1):
    _, frame = cap.read()
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
   
    lower_red = np.array([30,150,50])
    upper_red = np.array([255,255,180])
   
    mask = cv2.inRange(hsv, lower_red, upper_red)
    res = cv2.bitwise_and(frame,frame, mask= mask)

    cv2.imshow('frame',frame)
    cv2.imshow('mask',mask)
    cv2.imshow('res',res)
   
    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()
cap.release()



Ini hanya sebuah contoh , dengan merah sebagai target . pada dasarnya 30-255 , 150-255 , dan 50-180 . Ini adalah untuk merah , tetapi anda bebas untuk mencoba untuk menemukan warna Anda sendiri . Alasan mengapa HSV yang terbaik di sini adalah karena kami ingin berbagai warna , dan kita umumnya ingin warna yang sama dalam kasus ini .

Untuk mengetahui kisaran HSV , saya percaya metode terbaik adalah dengan hanya trial and error . Ada dibangun dalam metode untuk OpenCV untuk mengkonversi BGR untuk HSV . Jika Anda ingin memilih hanya satu warna maka BGR , untuk HSV akan menjadi besar untuk digunakan. inilah Contohnya :

    dark_red  = np.uint8([[[12,22,121]]])
    dark_red = cv2.cvtColor(dark_red,cv2.COLOR_BGR2HSV)




Hasilnya di sini akan menjadi nilai HSV yang identik dengan nilai dark_red. Ini bagus ... tapi sekali lagi ... Anda mengalami masalah mendasar dengan rentang warna vs rentang di HSV. Mereka hanya berbeda secara fundamental. Anda mungkin memiliki penggunaan yang sah untuk BGR berkisar, mereka akan tetap bekerja, tetapi untuk mendeteksi satu "warna," biasanya bekerja dengan baik.

Kembali ke kode utama, bagaimanapun, pertama kita harus mengkonversi frame untuk HSV. Selanjutnya, kita menentukan beberapa nilai HSV untuk warna merah. Kami membuat mask, menggunakan "inRange" pernyataan, untuk rentang tertentu kami. Ini benar atau salah, hitam atau putih. Selanjutnya, kita "memulihkan" kami merah-ness dengan menjalankan operasi bitwise. Pada dasarnya, kami menampilkan warna mana yang ada di frame DAN mask. Bagian putih dari mask akan dianggap merah, yang dikonversi menjadi putih, sementara hal lain menjadi hitam. Akhirnya kami menunjukkan itu semua. Aku memilih untuk menampilkan bingkai asli, mask, dan hasil akhir, sehingga Anda bisa mendapatkan ide yang lebih baik dari apa yang terjadi.



18 komentar:

  1. Untuk mempermudah kamu bermain guys ajoqq menghadirkan 7 permainan hanya dalam 1 ID 1 APLIKASI guys,,,
    dimana lagi kalau bukan di ajoqq,,, Pin BB: 58cd292c

    BalasHapus
  2. lagi cari bandar togel.. gabung saja di dewalotto.com
    selain ada togel ada games dan casino juga
    depo wd cuma 20 ribu
    Wujudkan impian anda hanya di dewalotto.com

    BalasHapus
  3. Yuk daftarkan diri anda bersama kami di k.e.l.i.n.c.i.99 ya..
    Di Add Ya kontak 2.B.1.E.7.B.8.4...
    ada CS ANGELNA yang cantik...
    dapatkan freechip 5000 setiap hari nya..

    BalasHapus

  4. "Masih Bingung Mencari Situs Poker / Domino / BandarQ / AduQ Yang isa di percaya ?

    Yang Mempunyai % Kemenangan Lebih Besar . ?

    Kartu"" Yang Berkualitaas . ?

    Pelayanan CS Yang Ramah / Tips"" Dan Trick Cara Bermain . ?

    Poker Online - HTTP://ARENADOMINO.COM

    Minimal Deposit : Rp.20.000,

    Bonus Refferal Seumur Hidup

    Bonus Turn Over Tanpa Batas

    Player VS Player ( 100% Tanpa Bot )

    8 Games Dalam 1 User ID .
    POKER - DOMINO - ADUQ -
    BANDARQ - CAPSA - BANDAR POKER - BANDAR SAKONG

    Rasakan Sensasi nya Menjadi Bandar ,
    hanya di BANDARQ dan BANDAR SAKONG
    Dengan Pelayanan Terbaik ( Customer Service )

    Customer Service Online 24 Jam

    Daftar Langsung isi data2 : http://arenadomino.org/app/Default0.aspx?ref=dominobandar&lang=id "

    BalasHapus
  5. Ayo bergabung sekarang juga bersama kami ^_^
    Deposit yang sangat ringan cukup 50rb saja
    Anda sudah bisa bergabung bersama Fans^^83771nG $$

    Tersedia berbagai Permainan :

    * Sbobet Bola
    * Roulete / Bacarat
    * IBC
    * Ion Casino / Sicbo
    * 88Tangkas

    Support Bank : BCA , Mandiri , BNI , BRI , dan Danamon.

    Untuk lebih detail .. klik langsung ya : www,fansbetting,co :)

    BalasHapus
  6. Lagi Cari Bandar Togel Online Dengan Games Lainya Yang Lengkap ?
    Tapi Gak Tau Situs Mana Yang Bisa Di Percaya ?
    Daftar Di : HTTPS://DEWALOTTO.WEBSITEs
    Minimal Deposit Rp.20.000,-
    Minimal Withdraw Rp.20.000,-
    Lengkap 1 Userid Dapat Bermain :
    Togel, Taruhan Bola, Live Casino & Sabung Ayam
    Proses Deposit / Withdraw Kurang Dari 2-3 Menit
    Perlayanan Terbaik ( Di Layani CS Yang Ramah )
    Website Online 24 Jam / Setiap Harinya
    Daftarkan Sekarang Juga : HTTPS://DEWALOTTO.WEBSITE

    BalasHapus
  7. "Ingin Bermain Togel Online ?

    Tapi Ngak Tau Bandar Togel Online Yang Bisa Di Percaya ?
    Disini Nih , Kelinci99
    Bandar Togel Aman & Live Casio
    Discount Terbesar 4D : 66% , 3D : 59%, 2D : 29%

    Untuk Member Baru Ada Freechips & Bonus Deposit
    Untuk Info Lebih Lengkap : KELINCI99
    .ORG
    Di Jamin 100% Aman & Terpercaya

    Proses Deposit / Withdraw Kurang Dari 2 Menit
    Minimal Deposit Rp.20.000
    Minimal Withdraw Rp.50.000

    Bet Invest Tidak Ada Batas Line
    Minimal Bet 1.000
    Tunggu Apa Lagi ?
    Daftar Sekarang Juga Di : www.kelinci99.casino/link.php?member=ddc"

    BalasHapus
  8. "DewaLotto 1'Userid Main Semua Permainan Poker , Togel , Casino , Sport Books, Tembak Ikan,
    Joker , Batu Goncang, Dan Banyak Lagi Games Lainnya.
    Kunjungi Sekarang Juga Di DewaLotto-Com pin BB : 7BF59345

    Jangan lewatkan kesempatan menjadi kaya dengan bermain permainan yang menantang ,
    yang kami berikan ini yukk silahkan daftar minimal deposit 20rb saja.."

    BalasHapus
  9. "Ingin Bermain Togel Online ?

    Tapi Ngak Tau Bandar Togel Online Yang Bisa Di Percaya ?
    Disini Nih , Kelinci99
    Bandar Togel Aman & Live Casio
    Discount Terbesar 4D : 66% , 3D : 59%, 2D : 29%

    Untuk Member Baru Ada Freechips & Bonus Deposit
    Untuk Info Lebih Lengkap : KELINCI99
    .ORG
    Di Jamin 100% Aman & Terpercaya

    Proses Deposit / Withdraw Kurang Dari 2 Menit
    Minimal Deposit Rp.20.000
    Minimal Withdraw Rp.50.000

    Bet Invest Tidak Ada Batas Line
    Minimal Bet 1.000
    Tunggu Apa Lagi ?
    Daftar Sekarang Juga Di : www.kelinci99.casino/link.php?member=ddc"

    BalasHapus
  10. v
    "DewaLotto 1'Userid Main Semua Permainan Poker , Togel , Casino , Sport Books, Tembak Ikan,
    Joker , Batu Goncang, Dan Banyak Lagi Games Lainnya.
    Kunjungi Sekarang Juga Di DewaLotto-Com pin BB : 7BF59345

    Jangan lewatkan kesempatan menjadi kaya dengan bermain permainan yang menantang ,
    yang kami berikan ini yukk silahkan daftar minimal deposit 20rb saja.."

    BalasHapus
  11. "Dafar Sekarang Juga Di DewaLotto .
    Minimal Depo / Withdraw Rp.20.000
    Bandar Togel 8 Pasaran Terbesar ,Casino,Taruhan Bola , Laga Ayam , Tembak Ikan , Batu Goncang ,
    Dan Banyak Games Lainnya ! pin BB : 7BF59345
    Semua permainan bisa di mainkan dengan 1 userid saja yukk.."
    Daftar Sekarang Juga Di : www.dewalotto.online atau www.dewalotto.org

    BalasHapus
  12. Togel Online Terpercaya Dan Games Laiinnya Live Casino.
    HOT PROMO NEW MEMBER FREECHIPS 5ribu !!
    NEXT DEPOSIT 50ribu FREECHIPS 5RB !!
    Ada Bagi2 Freechips Untuk New Member + Bonus Depositnya Loh ,
    Yuk Daftarkan Sekarang Mumpung Ada Freechips Setiap Harinya
    segera daftar dan bermain ya selain Togel ad juga Games Online Betting lain nya ,
    yang bisa di mainkan dgn 1 userid saja .
    yukk daftar di www.kelinci99.casino atau www.kelinci99.org

    BalasHapus
  13. v"Bosan Bermain Togel ?????

    Ingin Bermain Poker Online Dengan Uang Asli ?

    Tapi Ngak Tau Situs Poker Online Yang Bisa Di Percaya . ?

    Poker Online - www.arenadomino.poker
    Minimal Deposit / Withdraw : Rp.20.000,-
    Bonus Refferal 20% Seumur Hidup .

    Bonus Turn Over 0.5% Tanpa Batas .
    Player VS Player ( 100% Tanpa Bot ) .

    8 Games Dalam 1 User ID .
    POKER - DOMINO - ADUQ - BANDARQ - CAPSA -
    BANDAR POKER - SAKONG - BANDAR66

    Rasakan Sensasi nya Menjadi Bandar , hanya di BANDARQ , BANDAR POKER , BANDAR66 .

    Dengan Pelayanan Terbaik ( Customer Service ) .

    Customer Service Online 24 Jam .

    Daftar Langsung isi data2 : www.arenadomino.poker , www.arenadomino.info , www.arenadomino.co

    BalasHapus
  14. Togel Online Terpercaya Dan Games Laiinnya Live Casino.
    HOT PROMO NEW MEMBER FREECHIPS 5ribu !!
    NEXT DEPOSIT 50ribu FREECHIPS 5RB !!
    Ada Bagi2 Freechips Untuk New Member + Bonus Depositnya Loh ,
    Yuk Daftarkan Sekarang Mumpung Ada Freechips Setiap Harinya
    segera daftar dan bermain ya selain Togel ad juga Games Online Betting lain nya ,
    yang bisa di mainkan dgn 1 userid saja .
    yukk daftar di www.kelinci99.casino atau www.kelinci99.org

    BalasHapus
  15. mari segera bergabung bersama kami,
    dan menangkan berbagai hadiah menarik lainnya,
    hanya di agen Fansbetting ^_^

    BalasHapus
  16. Ada Bagi2 Freechips Untuk New Member + Bonus Depositnya Loh ,
    Yuk Daftarkan Sekarang Mumpung Ada Freechips Setiap Harinya segera daftar dan bermain ya
    selain Togel ad juga Games Online Betting lain nya yang bisa di mainkan dgn 1 userid saja
    yukk daftar di www.kelinci99.me

    BalasHapus
  17. "Bosan Bermain Togel ?????

    Ingin Bermain Poker Online Dengan Uang Asli ?

    Tapi Ngak Tau Situs Poker Online Yang Bisa Di Percaya . ?

    Poker Online - www.arenadomino.poker
    Minimal Deposit / Withdraw : Rp.20.000,-
    Bonus Refferal 20% Seumur Hidup .

    Bonus Turn Over 0.5% Tanpa Batas .
    Player VS Player ( 100% Tanpa Bot ) .

    8 Games Dalam 1 User ID .
    POKER - DOMINO - ADUQ - BANDARQ - CAPSA -
    BANDAR POKER - SAKONG - BANDAR66

    Rasakan Sensasi nya Menjadi Bandar , hanya di BANDARQ , BANDAR POKER , BANDAR66 .

    Dengan Pelayanan Terbaik ( Customer Service ) .

    Customer Service Online 24 Jam .

    Daftar Langsung isi data2 : www.arenadomino.poker , www.arenadomino.info

    BalasHapus
  18. mari segera bergabung dengan kami.....
    di ajoqq.club...
    segera di add black.berry pin 58CD292C.
    WwW-AJoQQ.club| bonus rollingan 0,3% | bonus referral 20% | minimal deposit 15000

    BalasHapus