Minggu, 24 Januari 2016

Image arithmetics and Logic OpenCV Python Tutorial

Selamat Datang di Tutorial OpenCV menggunakan Python, dalam tutorial ini kita akan mencakup beberapa operasi aritmatika sederhana yang bisa kita lakukan pada gambar ,menjelaskan apa yang mereka bersama lakukan . Untuk melakukan hal ini , kita memerlukan dua gambar dengan ukuran yang sama untuk memulai , kemudian pada gambar yang lebih kecil dan yang lebih besar . Untuk memulai , saya akan menggunakan :

dan



Pertama , mari kita tambahkan yang sederhana:

import cv2
import numpy as np

# 500 x 250
img1 = cv2.imread('3D-Matplotlib.png')
img2 = cv2.imread('mainsvmimage.png')

add = img1+img2

cv2.imshow('add',add)
cv2.waitKey(0)
cv2.destroyAllWindows()

Tampilan Hasi :




Hal ini tidak mungkin Anda akan ingin semacam ini selain berantakan . OpenCV memiliki metode " menambahkan " , mari kita lihat apa yang tidak , menggantikan sebelumnya " menambahkan " dengan :

add = cv2.add(img1,img2)

Tampilan Hasil :


Mungkin di sini tidak ideal. Kita bisa melihat bahwa gambar sangat " putih . " Hal ini karena warna-warna yang 0-255 , di mana 255 adalah " cahaya penuh . " Jadi, misalnya : ( 155,211,79 ) + ( 50 , 170 , 200 ) = 205 , 381 , 279 ... diterjemahkan ke ( 205 , 255 , 255 ) .


Selanjutnya, kita dapat menambahkan gambar , dan masing-masing membawa " beban " yang berbeda . Berikut adalah caranya :

import cv2
import numpy as np

img1 = cv2.imread('3D-Matplotlib.png')
img2 = cv2.imread('mainsvmimage.png')

weighted = cv2.addWeighted(img1, 0.6, img2, 0.4, 0)
cv2.imshow('weighted',weighted)
cv2.waitKey(0)
cv2.destroyAllWindows()

Untuk metode add Weighted , parameter adalah gambar pertama , berat , untuk gambar kedua , berat badan , dan gamma , yang merupakan pengukuran cahaya . Kami akan meninggalkan di nol untuk saat ini .

Tampilan Hasil :



Itu adalah beberapa contoh pilihan, tetapi bagaimana jika Anda secara harfiah ingin menambahkan satu gambar yang lain , di mana yang terbaru tumpang tindih yang pertama ? Dalam hal ini , Anda akan mulai dengan yang terbesar , kemudian tambahkan gambar yang lebih kecil ( s ) . Untuk ini , kita akan menggunakan gambar 3D - Matplotlib.png yang sama, tetapi menggunakan yang baru yaitu logo Python :



Sekarang , kita bisa mengambil logo ini , dan letakkan di gambar asli . Itu cukup mudah ( pada dasarnya menggunakan kode yang sama yang kami digunakan dalam tutorial sebelumnya di mana kami mengganti Region of Image ( ROI ) dengan yang baru, tapi bagaimana jika kita hanya ingin bagian logo , dan bukan latar belakang putih ? Kita dapat menggunakan prinsip yang sama seperti yang kita telah digunakan sebelumnya untuk penggantian ROI , tapi kita perlu cara untuk " menghapus " latar belakang logo , sehingga putih tidak sia-sia memblokir lebih dari gambar latar belakang . Pertama saya akan menunjukkan kode lengkap , dan kemudian menjelaskan :


import cv2
import numpy as np

# Load two images
img1 = cv2.imread('3D-Matplotlib.png')
img2 = cv2.imread('mainlogo.png')

# I want to put logo on top-left corner, So I create a ROI
rows,cols,channels = img2.shape
roi = img1[0:rows, 0:cols ]

# Now create a mask of logo and create its inverse mask
img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)

# add a threshold
ret, mask = cv2.threshold(img2gray, 220, 255, cv2.THRESH_BINARY_INV)

mask_inv = cv2.bitwise_not(mask)

# Now black-out the area of logo in ROI
img1_bg = cv2.bitwise_and(roi,roi,mask = mask_inv)

# Take only region of logo from logo image.
img2_fg = cv2.bitwise_and(img2,img2,mask = mask)

dst = cv2.add(img1_bg,img2_fg)
img1[0:rows, 0:cols ] = dst

cv2.imshow('res',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()



ada beberapa hal baru yang muncul, pertama yang kita lihat yang baru , adalah penerapan ambang batas. ret, mask = cv2.threshold(img2gray, 220, 255, cv2.THRESH_BINARY_INV).

Kami akan mencakup thresholding lebih banyak di tutorial berikutnya , sehingga menantikan untuk spesifik , tetapi pada dasarnya cara kerjanya adalah akan mengkonversi semua piksel ke hitam atau putih , berdasarkan nilai ambang batas . Dalam kasus kami , ambang batas 220 , tapi kita bisa menggunakan nilai-nilai lain , atau bahkan memilih dinamis satu, yang digunakan adalah untuk apa variabel ret dapat digunakan. Selanjutnya, kita lihat : mask_inv = cv2.bitwise_not(mask)
ini adalah operasi bitwise . Pada dasarnya , operator ini sangat mirip dengan yang khas dari python , kecuali satu , tapi kami tidak akan menyentuhnya pula di sini . Dalam hal ini , bagian yang tak terlihat adalah di mana warna hitam Kemudian , kita dapat mengatakan bahwa kita ingin hitam keluar daerah ini di gambar pertama , dan kemudian mengambil gambar 2 dan menggantinya isi itu di tempat itu kosong .

Tampilan Hasil

21 komentar:

  1. Stop copying and pasting my tutorials from https://pythonprogramming.net/loading-images-python-opencv-tutorial/

    BalasHapus
  2. hii..:) mari segera bergabung bersama kami,
    dan menangkan berbagai hadiah menarik lainnya,
    hanya di agen UpdateBetting ^_^

    BalasHapus
  3. 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
  4. 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
  5. Agen poker terbesar dan terpercaya ARENADOMINO.COM
    minimal depo dan wd cuma 20 ribu
    dengan 1 userid sudah bisa bermain 7 games
    pin BB : D_8_E_B_A_A_7_C

    BalasHapus

  6. "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

  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. 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
  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. "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

  11. 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

  12. "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
  13. "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
  14. "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
  15. "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
  16. v
    "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
  17. 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
  18. "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
  19. mari segera bergabung bersama kami,
    dan menangkan berbagai hadiah menarik lainnya,
    hanya di agen Fansbetting ^_^

    BalasHapus
  20. 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
  21. "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