https://powerinai.com/

প্রযুক্তির খবর

যেকোনো বস্তুকে শনাক্ত করবে কমপিউটার

যেকোনো বস্তুকে শনাক্ত করবে কমপিউটার যেকোনো বস্তুকে শনাক্ত করবে কমপিউটার
 

যেকোনো বস্তুকে শনাক্ত করবে কমপিউটার


কমপিউটার কোনো বস্তুর ছবি দেখেই শনাক্ত করতে পারে না আসলে বস্তুটি কী ৷ কোনো বস্তুকে শনাক্ত করার জন্য প্রয়োজন পড়ে প্রোগ্রাম করার৷ বিভিন্ন ধরনের এলগরিদম ব্যবহার করে কোনো একটি নির্দিষ্ট বস্তুকে শনাক্ত করা হয়৷ নিচের চিত্র-১-এ যেকোনো বস্তুকে (objects) শনাক্ত করার প্রোগ্রামের উইন্ডোটি দেখানো হয়েছে৷ চিত্রে দেখানো হয়েছে চারটি বিভিন্ন ধরনের বস্তুর ছবি হতে নির্দিষ্ট একটি বস্তুর ছবিকে শনাক্ত করাকে৷ চারটি বিভিন্ন বস্তু যেমন ক্রিকেট ব্যাটের ছবি, জগের ছবি, একটি সেফটি পিন ও একটি টেবিলের ছবি৷ এখন আপনার দেয়া কোনো বস্তুর ছবির সাথে ওই চারটি বস্তুর ছবির তুলনা করা হবে এবং আপনার দেয়া ছবিটি ওই চারটি বস্তুর ছবির কত কাছাকাছি তা তুলনা করে শতকরা হিসেবে বলে দেয়া যাবে৷ এই প্রোগ্রামের সাহায্যে সাধারণ সব বস্তুর তুলনা করা যেতে পারে৷ তবে এই প্রোগ্রামের সাহায্যে কোনো মানুষের ছবি তুলনা করতে চাইলে ফলাফল সঠিক পাওয়া যাবে না৷ এখানে যে পদ্ধতির সাহায্যে বিভিন্ন বস্তুর ছবিগুলোর তুলনা করা হচ্ছে তা হচ্ছে Pixel Matching পদ্ধতি৷ প্রোগ্রামটি ভিজ্যুয়াল বেসিকে ডেভেলপ করা হয়েছে৷ প্রোগ্রামের কোড নিচে দেয়া হলো৷ প্রোগ্রামটি চালালে নিচের চিত্র-১-এর মতো একটি উইন্ডো পাওয়া যাবে৷ এবার আপনি যে বস্তুর ছবির সাথে প্রোগ্রামে উল্লেখ করা চারটি বস্তুর ছবির তুলনা করতে চান তা Load Object বাটনের সাহায্যে লোড করে নিন৷ এখানে যে ছবিগুলো ব্যবহার করা হয়েছে তা 140x110 পিক্সেলের৷ তাই যখন কোনো ছবি শনাক্তকরণের জন্য এই প্রোগ্রামে লোড করবেন তা 140x110 পিক্সেলের হতে হবে৷ কোনো বস্তুর ছবি লোড করার পর Stretch বাটনটি চাপতে হবে৷ সাধারণত যখন কোনো ছবি অন্য কোনো ছবির সাথে তুলনা করা হয় তা গ্রে স্কেলে নিয়ে বা সাদা-কালো অবস্থায় নিয়ে তুলনা করতে হয়৷ প্রোগ্রামে Black and White বাটনটি সব ছবিকে সাদা-কালো ছবিতে পরিবর্তন করে নেবে এবং Compare Objects বাটনটি চাপার সাথে সাথে যে বস্তুর ছবিটি লোড করা হয়েছে তার সাথে প্রোগ্রামে দেয়া চারটি ছবির কোনটির সাথে কোনটির শতকরা কত ভাগ মিলে তা দেখাবে৷ চিত্রে ভালোভাবে লক্ষ্য করুন৷ প্রোগ্রামে দেয়া চারটি বস্তুর ছবির সাথে লোড করা জগের ছবিটি, কোন ছবির সাথে কত বেশিভাগ মিলছে তা নিচের ছবিতে দেখলে দেখা যাবে৷ প্রোগ্রামে দেয়া জগের ছবির সাথে লোড করা জগের ছবিটির বেশিরভাগ মিলছে৷ আবারো বলছি সাধারণ বস্তু নির্ণয় বা শনাক্ত করতে এই প্রোগ্রামটি ব্যবহার করা যেতে পারে, তবে মানুষের মুখের ছবির সাথে তুলনা করলে ফলাফল সঠিক নাও আসতে পারে৷


Private Declare Function GetPixel Lib “gdi32” (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long

Private Declare Function StretchBlt Lib “gdi32” (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long

Private Declare Function SetPixel Lib “gdi32” (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long

Private h, w As Long


Private Sub Command1_Click()

StretchBlt Picture11.hdc, 0, 0, 2647, 2865, Picture9.hdc, 0, 0, Picture9.Picture.Width, Picture9.Picture.Height, vbSrcCopy

End Sub


Private Sub Command2_Click()

Dim i, j, p1, p2 As Long

Dim r, g, b As Double

For i = 0 To 140

For j = 0 To 110

p1 = GetPixel(Picture1.hdc, i, j)

r = p1 Mod 256

g = (p1 Mod 256) / 256

b = ((p1 Mod 256) / 256) / 256

If r > 228 Or g > 228 Or b > 228 Then

SetPixel Picture2.hdc, i, j, vbWhite

Else

SetPixel Picture2.hdc, i, j, vbBlack

End If

p1 = GetPixel(Picture3.hdc, i, j)

r = p1 Mod 256

g = (p1 Mod 256) / 256

b = ((p1 Mod 256) / 256) / 256

If r > 228 Or g > 228 Or b > 228 Then

SetPixel Picture4.hdc, i, j, vbWhite

Else

SetPixel Picture4.hdc, i, j, vbBlack

End If

p1 = GetPixel(Picture5.hdc, i, j)

r = p1 Mod 256

g = (p1 Mod 256) / 256

b = ((p1 Mod 256) / 256) / 256


If r > 228 Or g > 228 Or b > 228 Then

SetPixel Picture6.hdc, i, j, vbWhite

Else

SetPixel Picture6.hdc, i, j, vbBlack

End If

p1 = GetPixel(Picture7.hdc, i, j)

r = p1 Mod 256

g = (p1 Mod 256) / 256

b = ((p1 Mod 256) / 256) / 256

If r > 228 Or g > 228 Or b > 228 Then

SetPixel Picture8.hdc, i, j, vbWhite

Else

SetPixel Picture8.hdc, i, j, vbBlack

End If

p1 = GetPixel(Picture11.hdc, i, j)

r = p1 Mod 256

g = (p1 Mod 256) / 256

b = ((p1 Mod 256) / 256) / 256

If r > 228 Or g > 228 Or b > 228 Then

SetPixel Picture10.hdc, i, j, vbWhite

Else

SetPixel Picture10.hdc, i, j, vbBlack

End If

Next j

Next i

End Sub


Private Sub Command3_Click()

Dim fname As String

On Error GoTo 1

Dim ch As Boolean

ch = True

With cm1

.ShowOpen

.Filter = “Char_Rec (*.jpg)|*jpg|Char_Rec (*.bmp)|*.bmp|Char_Rec (*.ico)|*.ico|Char_Rec (*.psd)|*.psd|Char_Rec (*.png)|*.png|All Files(*.*)|*.*”

fname = .FileName

End With

If fname = “” Then

MsgBox “Please Choose a filename”, vbCritical

End If


Picture9.Picture = LoadPicture(fname)

ch = False

1:

If ch Then

MsgBox Err.Description, vbCritical

End If

End Sub


Private Sub Command6_Click()

Dim i, j, p1, p2, Match1, Match2, Match3, Match4, Total As Long

Dim r, g, b As Double

Match1 = 0

Match2 = 0

Match3 = 0

Match4 = 0

Total = 0

For i = 0 To 140

For j = 0 To 110

p1 = GetPixel(Picture10.hdc, i, j)

p2 = GetPixel(Picture2.hdc, i, j)

If p1 = p2 Then

Match1 = Match1 + 1

End If

p2 = GetPixel(Picture4.hdc, i, j)

If p1 = p2 Then

Match2 = Match2 + 1

End If

p2 = GetPixel(Picture6.hdc, i, j)

If p1 = p2 Then

Match3 = Match3 + 1

End If

p2 = GetPixel(Picture8.hdc, i, j)

If p1 = p2 Then

Match4 = Match4 + 1

End If

Total = Total + 1

Next j

Next i

Text1 = Val(100 * Match1 / Total)

Text2 = Val(100 * Match2 / Total)

Text3 = Val(100 * Match3 / Total)

Text4 = Val(100 * Match4 / Total)

End Sub


যারা Face Recognition নিয়ে কাজ করতে চান, তারা নিউরালনেটওয়ার্ক নিয়ে কাজ করতে পারেন৷ এটি অন্য এক পদ্ধতি যা মানুষের ছবি শনাক্ত করার কাজে ব্যবহার করা হয়৷ প্রোগ্রামটি খুব সহজভাবে আপনাদের সামনে তুলে ধরা হয়েছে৷ এখানে পিক্সেল ম্যাচিং পদ্ধতিটি ব্যবহার করা হয়েছে৷ প্রোগ্রামে ভালোভাবে লক্ষ করলে দেখবেন Compare Objects বাটনটি চাপার সাথে সাথে প্রোগ্রামে দেয়া ছবিগুলোর সাথে লোড বা ইনপুট ছবিটির তুলনা হচ্ছে তা পিক্সেল ম্যাচিংয়ের মাধ্যমে৷ সাহায্যের জন্য দেখুন৷








০ টি মন্তব্য



মতামত দিন

আপনি লগ ইন অবস্থায় নেই।
আপনার মতামতটি দেওয়ার জন্য লগ ইন করুন। যদি রেজিষ্ট্রেশন করা না থাকে প্রথমে রেজিষ্ট্রেশন করুন।







পাসওয়ার্ড ভুলে গেছেন? পুনরায় রিসেট করুন






রিভিউ

আপনি লগ ইন অবস্থায় নেই।
আপনার রিভিউ দেওয়ার জন্য লগ ইন করুন। যদি রেজিষ্ট্রেশন করা না থাকে প্রথমে রেজিষ্ট্রেশন করুন।