দুঃখিত, আমি ওপেনসিভি জানি না এবং এটি একটি সম্পূর্ণ উত্তরের চেয়ে প্রাক প্রসেসিং পদক্ষেপ:
প্রথমত, আপনি কোনও প্রান্ত সনাক্তকারী চাই না। একটি প্রান্ত সনাক্তকারী রূপান্তরগুলি রূপান্তর করে (এই অন্ধকার থেকে আলোর মতো):
এই জাতীয় উপায়ে (অন্ধকারের উপর উজ্জ্বল রেখাগুলি) মধ্যে:
এটি অন্যথায়, একটি পার্থক্য সম্পাদন করে।
তবে আপনার চিত্রগুলিতে এক দিক থেকে এক আলো জ্বলছে, যা আমাদের 3 ডি পৃষ্ঠের স্বস্তি দেখায়। আমরা এটি লাইন এবং প্রান্ত হিসাবে উপলব্ধি করেছি, কারণ আমরা 3 ডি-তে জিনিস দেখতে অভ্যস্ত, কিন্তু সেগুলি সত্যই নয়, এজন্য প্রান্ত সনাক্তকারীরা কাজ করছে না, এবং টেমপ্লেট মিলগুলি ঘোরানো চিত্রগুলির সাথে সহজে কাজ করবে না (একটি নিখুঁত 0 ডিগ্রি ঘোরার সাথে ম্যাচটি আসলে 180 ডিগ্রীতে পুরোপুরি বাতিল হয়ে যায়, কারণ হালকা এবং গা dark় একে অপরের সাথে মিলিত হবে)।
যদি এই মজাদার লাইনের কোনওটির উচ্চতাটি পাশ থেকে দেখায়:
তারপরে একদিক থেকে আলোকিত হওয়ার পরে উজ্জ্বলতার ক্রিয়াটি এর মতো দেখতে পাবেন:
আপনি আপনার ছবিতে এটি দেখতে পান। মুখের পৃষ্ঠটি আরও উজ্জ্বল হয় এবং পিছনের পৃষ্ঠটি আরও গাer় হয়। সুতরাং আপনি পার্থক্য করতে চান না। আপনাকে করার প্রয়োজন সংহত আলোকসজ্জা দিক বরাবর ইমেজ, এবং এটি আপনার পৃষ্ঠ (প্রায়) মূল উচ্চতা মানচিত্র দিতে হবে। তারপরে হফ ট্রান্সফর্ম বা টেম্পলেট ম্যাচিং বা যাই হোক না কেন, জিনিসগুলির সাথে মিলানো আরও সহজ হবে।
আলোকসজ্জার দিকটি সন্ধান করতে কীভাবে স্বয়ংক্রিয় করবেন তা আমি নিশ্চিত নই। এটি যদি আপনার সমস্ত চিত্রের জন্য একই হয় তবে দুর্দান্ত। অন্যথায় আপনাকে সবচেয়ে বড় বৈপরীত্যের রেখাটি খুঁজে পেতে এবং ধরে নিতে হবে যে আলোটি তার জন্য কিছু বা লম্ব। আমার উদাহরণস্বরূপ, আমি চিত্রটিকে ম্যানুয়ালি ঘুরিয়ে দিয়েছিলাম যা আমি ভাবছিলাম সঠিক দিক ছিল, বাম দিক থেকে আলো এসেছিল:
কেবলমাত্র দ্রুত-পরিবর্তনশীল রেখার মতো বৈশিষ্ট্যগুলি হাইলাইট করার জন্য আপনাকে চিত্রের সমস্ত কম-ফ্রিকোয়েন্সি পরিবর্তনগুলিও সরিয়ে ফেলতে হবে। শিল্পকলা বাজানো এড়াতে, আমি 2 ডি গাউসিয়ান ব্লার ব্যবহার করেছি এবং তারপরে এটি মূল থেকে বাদ দিয়েছি:
ইন্টিগ্রেশন (ক্রমসংখ্যা) সহজেই পালাতে পারে, যা অনুভূমিক রেখা তৈরি করে। আমি এগুলি অন্য গাউসিয়ান হাই-পাস দিয়ে সরিয়েছি, তবে কেবল এবার অনুভূমিক দিকে:
এখন স্টোমাটা পুরো জায়গায় সাদা উপবৃত্তাকার, কিছু জায়গায় সাদাের পরিবর্তে অন্য জায়গায় কালো।
মূল:
ইন্টিগ্রেটেড:
from pylab import *
import Image
from scipy.ndimage import gaussian_filter, gaussian_filter1d
filename = 'rotated_sample.jpg'
I = Image.open(filename).convert('L')
I = asarray(I)
# Remove DC offset
I = I - average(I)
close('all')
figure()
imshow(I)
gray()
show()
title('Original')
# Remove slowly-varying features
sigma_2d = 2
I = I - gaussian_filter(I, sigma_2d)
figure()
imshow(I)
title('2D filtered with %s' % sigma_2d)
# Integrate
summed = cumsum(I, 1)
# Remove slowly-changing streaks in horizontal direction
sigma_1d = 5
output = summed - gaussian_filter1d(summed, sigma_1d, axis=1)
figure()
imshow(output)
title('1D filtered with %s' % sigma_1d)
Hough রুপান্তর , এই, "প্রান্ত পিক্সেল" দিয়ে তৈরি মত শৈলশিরা উপবৃত্ত সনাক্ত করতে যদিও এটি সত্যিই গণনার এবং মেমরি ব্যয়বহুল ব্যবহার করা যেতে পারে, এবং তারা নিখুঁত উপবৃত্ত তাই এটি একটি "পঙ্কিল" আবিষ্কারক একটি বিট হতে হবে না। আমি এটি কখনই করি নি, তবে " হুফ বর্ণবৃত্ত সনাক্তকরণ " এর জন্য গুগলের অনেকগুলি ফলাফল রয়েছে । আমি বলব যদি আপনি একটি নির্দিষ্ট আকারের অনুসন্ধানের জায়গার মধ্যে অন্যটির ভিতরে একটি উপবৃত্ত সনাক্ত করেন তবে এটি স্টোমা হিসাবে গণনা করা উচিত।
আরও দেখুন: