আমি কীভাবে কোনও চিত্র থেকে ছায়া মুছতে পারি?


17

আমি এই ইমেজ আছে

এখানে চিত্র বর্ণনা লিখুন

আমি ছবিটি থেকে ছায়াটি সরাতে চাই। আমি জানি যে ছায়াছবি সরাতে নির্দিষ্ট আকারের ক্রিয়াকলাপের মতো বিভিন্ন পদ্ধতি ব্যবহার করা হয়েছে:

আমি এই চিত্রটি একই চিত্রের জন্য তৈরি করেছি

এখানে চিত্র বর্ণনা লিখুন

আমি তৈরি করা এই মাস্কটি ব্যবহার করার চেষ্টা করতে পারি এমন আরও কিছু পদ্ধতি আছে?

সম্পাদনা :

অনুরোধ অনুসারে ইনপুট চিত্র এবং একই আকারের মুখোশ:

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা 2: আমি 1D ইনগ্রেন্ট চিত্র তৈরি করেছি তবে এটি নিখুঁত নয়

  I = imread('shadow.jpg');
       J = im2double(I);

      R = J(:,:,1);
      G = J(:,:,2);
      B = J(:,:,3);

     [len,wid] = size(R);

     % Generation of 2-D Log Chromaticity Image.
     for i = 1:len
        for j = 1:wid
           if ((R(i,j)*G(i,j)*B(i,j))~= 0)
              c1(i,j) = R(i,j)/((R(i,j)*G(i,j)*B(i,j))^(1/3));
              c2(i,j) = G(i,j)/((R(i,j)*G(i,j)*B(i,j))^(1/3));
              c3(i,j) = B(i,j)/((R(i,j)*G(i,j)*B(i,j))^(1/3));
           else
              c1(i,j) = 1;
              c2(i,j) = 1;
              c3(i,j) = 1;
        end
    end
end

rho1 = mat2gray(log(c1));
rho2 = mat2gray(log(c2));
rho3 = mat2gray(log(c3));

X1 = mat2gray(rho1*1/(sqrt(2)) - rho2*1/(sqrt(2)));                                         %(1/sqrt(2); -1/sqrt(2); 0)
X2 = mat2gray(rho1*1/(sqrt(6)) + rho2*1/(sqrt(6)) - rho3*2/(sqrt(6)));   %(1/sqrt(6); 1/sqrt(6); -2/sqrt(6))

theta = 120;

InvariantImage = cos(theta*pi/180)*X1 + sin(theta*pi/180)*X2;
imagesc(InvariantImage); colormap(gray)

এখানে চিত্র বর্ণনা লিখুন

বুঝতে পারি না আমি এখানে কী ভুল করছি, দয়া করে সহায়তা করুন?


ভাল প্রশ্ন! আপনি কি মুখোশযুক্ত অঞ্চলে উজ্জ্বলতা বাড়ানোর চেষ্টা করেছেন?
ডিমা

5
আমার উত্তরটি এখানে দেখুন: dsp.stackexchange.com/questions/454/…
ডেটাজিস্ট

সহজ কথায়, দুটি পৃথক পৃষ্ঠের প্রতিচ্ছবি পৃথক, উভয় পরম পদ এবং তারা প্রত্যক্ষ বনাম পরোক্ষ আলো প্রতিফলিত করে। সুতরাং তারা ছায়ায় থাকার জন্য আলাদাভাবে প্রতিক্রিয়া জানায় এবং ছায়া বাতিল করার জন্য বিভিন্ন সূত্রের প্রয়োজন।
ড্যানিয়েল আর হিক্স

দ্বিতীয় ডেরাইভেটিভ ব্যবহার করে গ্রেডিয়েন্ট এবং ল্যাপ্ল্যাকিয়ান অপারেটর ব্যবহার করে প্রান্ত সনাক্তকরণের মতো অন্যান্য পদ্ধতি রয়েছে।

1
সংশ্লিষ্ট প্রশ্ন: mathematica.stackexchange.com/questions/7414/...
নিকি Estner

উত্তর:


11

ছায়া সনাক্তকরণ, ছায়া-মুখোশ উত্পন্ন, এবং প্রকৃতপক্ষে এমন কিছু কিছু যা সত্যই ছায়াগুলি সরিয়ে নিয়ে কাজ করে এমন কয়েক ডজন প্রকাশনা রয়েছে - যেমন আগের পোস্টগুলিতে উল্লিখিত প্রবন্ধগুলি। প্রয়োজনে তালিকায় কিছু যোগ করতে পারতাম। তবে সমস্যাটি সমাধান করা আইএমএইচও থেকে অনেক দূরে। দ্রুত-শুরুর জন্য, একটি ছায়া-মুখোশ দেওয়া, আমি নিম্নলিখিত দুটি পদ্ধতির প্রস্তাব (এবং অতীতে চেষ্টা করেছি)। এগুলি অবশ্যই ছায়াগুলি হ্রাস করে - কেবল সর্বদা নির্বিঘ্ন নয় এবং আমি নিশ্চিত যে এখানে প্রকাশনা রয়েছে (আমার দ্বারা নয়) একইভাবে ছায়া-অপসারণের কাজ করে।

  • এখানে বর্ণিত গ্রেডিয়েন্ট ডোমেন ম্যানিপুলেশন কৌশলগুলি (সি এবং মতলব কোডগুলি সরবরাহ করা হয়েছে): http://www.umiacs.umd.edu/~aagrawal/ICCV2007Course/index.html গ্রেডিয়েন্ট-ইন্টিগ্রেশন পদ্ধতির বেশ কয়েকটি চিত্র-প্রসেসিংয়ের জন্য ব্যবহার করা যেতে পারে সমস্যাগুলি, আরও উদাহরণগুলির জন্য স্লাইড / উপস্থাপনা দেখুন।

    সাধারণ ধারণা:

    1. সমস্ত রঙ-চ্যানেলের জন্য স্থানিক ডেরিভেটিভগুলি (গ্রেডিয়েন্ট-চিত্রগুলি) গণনা করুন।
    2. শ্যাডো-মাস্ক থেকে ছায়া-সীমানা ব্যবহার করুন ওজন-মাস্ক যা শ্যাডো-সীমানায় শূন্যের কাছাকাছি এবং ছায়া-প্রান্ত বরাবর একটি নির্দিষ্ট পাড়ার মধ্যে অর্থাত্ প্রদত্ত প্রান্ত-বিন্দুতে বাড়িয়ে তোলে one
    3. ছায়া-সীমানা / প্রান্তগুলি হ্রাস / স্যাঁত পেতে সমস্ত গ্রেডিয়েন্ট-চিত্রগুলির সাথে (২) থেকে ওজন-মাস্কের গুণন করুন।
    4. উপরের লিঙ্কটি থেকে কোডটি ব্যবহার করে গ্রেডিয়েন্ট-চিত্রগুলি সংহত করুন।
    5. আরজিবি-চিত্রগুলির জন্য, আমার অভিজ্ঞতা থেকে, মূল চিত্রগুলির পৃথক চ্যানেলের গড় গণনা করুন এবং "মজার" রঙ-শিল্পকলা রোধ করতে এই মানগুলির সাথে মেলে সংহত চিত্রগুলি স্কেল করুন।
  • মূল চিত্র-ডোমেনে উজ্জ্বলতার কারসাজি।

    1. ওজন-মুখোশ তৈরি করতে ছায়া-মুখোশ ব্যবহার করুন যা ছায়া অঞ্চলগুলির বাইরে একটি, একটি ছায়া-সীমানা জুড়ে একটি মসৃণ রূপান্তর (উপরের দিকে) থাকে এবং ছায়া-অঞ্চলের অভ্যন্তরে একাধিক স্কেল-ফ্যাক্টর থাকে। আগের পোস্টে যেমন পরামর্শ দেওয়া হয়েছিল, ছায়া-অঞ্চলের গড়-উজ্জ্বলতার সাথে গড়-উজ্জ্বলতা ব্যবহার করে কোনও ছায়া-অঞ্চল ঘিরে আশেপাশের অঞ্চল থেকে স্কেল-ফ্যাক্টরটি অনুমান করা যায়।
    2. ক্লিপিংয়ের সাপেক্ষে ওজন-মুখোশ দিয়ে মূল চিত্রগুলি (প্রতি চ্যানেল) গুণ করুন।

আমি বিভিন্ন বর্ণের মডেলগুলি ব্যবহার করার চেষ্টা করেছি, যেমন এইচএসভি, সরাসরি উপস্থিত আলোকিত বা উজ্জ্বলতা, যা রঙের পরিবর্তে (হিউ / স্যাচুরেশন) পরিবর্তিত হতে পারে। এটি মূলত উজ্জ্বলতা-হেরফেরের মতো কাজ করে, অর্থাত্ একটি মসৃণ ওজন-মুখোশ উত্পন্ন করে এবং এটি লুমিন্যান্স-চ্যানেল দিয়ে গুণ করে। হতে পারে দুটি পন্থা, যেমন গ্রেডিয়েন্ট-ইন্টিগ্রেশন এবং ব্রাইটনেস-ম্যানিপুলেশন, একটি চৌকস উপায়ে একত্রিত করা যেতে পারে, তবে কেউ সম্ভবত এটির আগেও চেষ্টা করেছেন।

আশা করি যে সাহায্য করবে, আন্তরিক শুভেচ্ছা, ডেরিক।



9

আমি এই ছবিটি আগেও দেখেছি। বাস্তবে এখানে আপনি যে বিষয়টির সমাধান করতে চাইছেন তার খুব কাগজে রয়েছে। সাইমন ফ্রেজার ইউনিভার্সিটিতে একই গবেষণা গ্রুপ থেকে অন্য একটি কাগজ নিয়ে অনুসরণ করা । এগুলি উভয়ই আপনাকে আলোক বিভ্রান্তির জন্য রঙ সমাধান করার সমস্যাটির একটি ভাল ভূমিকা দেবে।


হ্যাঁ আমি এটি জানি তবে একই সমস্যার জন্য একটি ভিন্ন পদ্ধতি চেষ্টা করার চেষ্টা করছিলাম
ভিনি

@ ভিনি: আপনি যদি পড়েছেন যে আপনি কী জানেন যে আপনি কী করছেন --- সাধারণ মোর্ফোলজিকাল অপারেশনগুলি এটি কাটবে না। আপনি আর কি পড়েছেন এবং চেষ্টা করেছেন? প্রয়োজনে অন্যান্য কাগজপত্রের পরামর্শ দিতে পারি।
এমেরে

@ আগে আমি উজ্জ্বলতা পরিবর্তন করার চেষ্টা করছি যাতে ছায়ার প্রভাব হ্রাস পায় তবে খুব বেশি সাফল্য হয় না .. কোনও প্রান্তের মানচিত্রটি কোনওভাবে এই ছায়াকে মুখোশ দেওয়ার জন্য ব্যবহার করা যেতে পারে .. আমি বুঝতে পেরেছি যে মরফোলজিকাল ক্রিয়াকলাপগুলি আমি মুছে ফেলার চেষ্টা করতে সহায়তা করে না (মতলব) ছায়া সরিয়ে ফেলতে
ভিনি

5
@ ভিনি: এই সমস্যাটি ওয়ান-লাইনারের সমাধানের বাইরে। লিঙ্কযুক্ত কাগজপত্রগুলি (এবং অন্যরাও রয়েছে) ইতিমধ্যে বেশিরভাগ ক্ষেত্রে সমস্যার সমাধান করে ফেলেছে, সুতরাং আপনি যদি নতুন কিছু করতে চান তবে আপনাকে তাদের দুর্বলতাগুলি খুঁজে পেতে হবে এবং এর অর্থ এটি ভালভাবে বুঝতে হবে, তাই আমি আপনাকে পুনরায় পড়ার অনুরোধ করছি সাবধানে। তারা সাধারণত আলোচনা এবং উপসংহার বিভাগগুলিতে সমস্যার উল্লেখ করে। লগ ক্রোমাইটিসিটি আলোকসজ্জা-আক্রমণকারী প্রজেকশন পদ্ধতির বিষয়টি আমার কাছে সবচেয়ে প্রতিশ্রুতিবদ্ধ বলে মনে হচ্ছে ...
এমরে

4

বেশ কয়েকটি পদ্ধতি রয়েছে যা ছায়া সনাক্তকরণ সম্পর্কে কথা বলে যা জানা ব্যাকগ্রাউন্ডের বিরুদ্ধে মূলত কাজ করে। কেবলমাত্র একটি পিক্সেল রঙ দেখেই ছায়া কী তা নিয়ে এর কোনও নিখুঁত ধারণা নেই । তবে আপনাকে রেফারেন্স ছাড়াই ছায়া সনাক্ত করতে হবে।

যদিও এই সমস্যাটি শক্ত, তবে এখানে একটি তুচ্ছ সমাধান - যদিও সহজেই এটি সেরা নাও হতে পারে তবে তবুও এটি আপনাকে কিছুটা দৃষ্টিভঙ্গি অর্জনে সহায়তা করতে পারে।

আসুন এইচএসএল ডোমেনে চিত্রের উপাদানগুলি পরীক্ষা করি

রঙহিউ কম্পোনেন্ট,
পরিপৃক্তিস্যাচুরেশন কম্পোনেন্ট এবং লঘিমালাইটনেস কম্পোনেন্ট

এটি সুপরিচিত যে লাইটনেস চিত্রের ধূসর সমতুল্যের সাথে ঘনিষ্ঠভাবে মিলিত হয় এবং এছাড়াও ছায়া মূলত প্রয়োজনীয়

একটি অর্ধ-স্বচ্ছ অঞ্চল যেখানে দৃশ্যের পুনরুদ্ধার একটি স্থানীয় মনোযোগের মধ্য দিয়ে যায়।

থেকে এখানে

অতএব, এটি একটি ওভারলে যা প্রতিচ্ছবি হ্রাস করে বলেছিল অন্ধকার আপনি চিত্রের ধূসর অংশে একইটি সনাক্ত করতে পারবেন - তবে আপনি এটি রঙের অংশগুলিতে (হিউ এবং কিছুটা স্যাচুরেশনে) কম ইন্টারপ্লে পাবেন find

এখন, এখানে, আমি দুটি চিত্র তৈরি করতে সক্ষম - যেখানে

  1. এই প্রথম চিত্রটিতে আমরা লাইটনেস উপাদানটি সরিয়েছি (একটি স্থির গড় মান দিয়ে প্রতিস্থাপন)
    এখানে চিত্র বর্ণনা লিখুন

  2. দ্বিতীয় চিত্রটিতে আমরা একইভাবে স্যাচুরেশন উপাদানটি সরিয়েছি স্যাচুরেশন সরানো হয়েছে

আমরা দেখতে পাচ্ছি যে হালকাতা সংরক্ষণ করা থাকলেও স্যাচুরেশন অপসারণ করা হলেও ছায়া সম্পর্কে সমালোচনা সম্পর্কিত তথ্য অক্ষত - যেখানে আমরা যখন হালকাতা সরিয়েছিলাম তখন ছায়ার তথ্য উল্লেখযোগ্যভাবে বাদ দেওয়া হয়। যদিও এটি নিখুঁত নয়, এটি একটি মূল বৈশিষ্ট্য তৈরি করে যা আপনাকে পটভূমি থেকে সত্যই ছায়া কী তা আলাদা করতে দেয়।

এর ভিত্তিতে, আপনি "লাইটনেস মুছে ফেলা" চিত্রটিকে ব্যাকগ্রাউন্ড হিসাবে এবং অন্য একটিটিকে ঘটনার চিত্র হিসাবে বিবেচনা করতে পারেন এবং এই দুটি তথ্যের উপর ভিত্তি করে চিত্রটিকে বিভাগ করতে পারেন; সুতরাং যে অঞ্চলগুলিতে ছায়া প্রধান ভূমিকা পালন করছে না সেখানে পার্থক্য অনেক কম হতে পারে, যেখানে ছায়া উপস্থিত থাকলে সেগমেন্টটি উচ্চ ত্রুটি প্রদর্শন করবে।

বিকল্পভাবে আপনি কেবল উভয় চিত্রেই স্বতন্ত্র বিভাগ (যেমন অঞ্চল ক্রমবর্ধমান) প্রয়োগ করতে পারেন। স্যাচুরেশন-সরানো চিত্রের অতিরিক্ত বিভাগ থাকবে যা হালকা-সরানো চিত্রে উপস্থিত থাকবে না যা ছায়া বিভাগ ছাড়া আর কিছুই নয়।

দ্রষ্টব্য: আপনি এইচএসএল-হালকা-মুছে ফেলা চিত্রটি মূলের সাথে আলাদা করতে পারবেন with একই জাতীয় জিনিসগুলি এইচএসভি রঙের জায়গার পাশাপাশি ওয়াইসিবিসিআর দিয়ে চেষ্টা করুন।


2

আপনি মুখোশযুক্ত অঞ্চল (ছায়া) এর একটি হিস্টোগ্রাম নিতে পারেন এবং রৈখিক রঙ রূপান্তর প্রয়োগ করতে পারেন যাতে মুখোশযুক্ত অঞ্চল এবং চিত্রের বাকী অংশের হিস্টগ্রাম মিলছে।

আমি অনুমান করি যে রূপান্তরটির সেই স্কেল ফ্যাক্টরটি নগণ্য হবে, কেবলমাত্র উজ্জ্বলতার শিফিং প্রয়োজনীয় হবে, সুতরাং আপনি কেবলমাত্র দুটি বিভাগের (ছায়া, শোরবর্ণ) গড় উজ্জ্বলতা নিতে পারেন এবং পার্থক্যটি প্রয়োগ করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.