আমি আমার মডেলের অভ্যন্তরে / অন্য কোনও ক্রিয়াকলাপটি সহজ করতে চাই এবং আমি এটি জানতে পেরেছি কিনা এটি সম্ভব কিনা।
আমি এই জিনিসটি করতে চাই যদি 'সেগমেন্ট লেয়ার' এর জন্য কোনও ইনপুট নির্বাচন করা হয় যে এটি 'সেগমেন্টেশন (মিডিশিফ্ট)' চালিত করতে হবে না এবং পরবর্তী প্রক্রিয়ার ইনপুট হিসাবে পরিবর্তে 'সেগমেন্ট স্তর' ব্যবহার করবে।
'বিভাজন (মধ্যবর্তী স্থান)' এর ইনপুটগুলি নিম্নরূপ
জোসেফের উত্তরটি প্রয়োগ করার চেষ্টা করার পরে আপডেট করুন: আমি নিম্নলিখিত কোডটি ব্যবহার করেছি এবং এই ত্রুটি পেয়েছি
আপডেট 2, পরামিতিগুলি প্রতিস্থাপনের পরে আমি 28 লাইনটিতে একটি ত্রুটি পেয়েছি এটি ছিল 'অন্যথায়:' স্ট্যান্ড
##Example=name
##BGREN=optional raster
##Segment_Layer=optional vector
##output=output vector
if BGREN is not None:
processing.runalg('otb:segmentationmeanshift', \
-BGREN\
-0\
-70\
-70\
-0.1\
-100\
-100\
-0\
-0\
-0\
-'True'\
-'False'\
-1\
-0.1\
-'Layer'\
-'DN'\
-1024\
-1\
-0\
-output)
else:
output=Segment_Layer
আপডেট করুন এটি কার্যকর হয় :) কয়েকবার চেষ্টা করার পরে এবং জোসেফের সাহায্যে এই কোডটি এখন একটি কবজির মতো কাজ করে, চূড়ান্ত কৌশলটি ছিল দুটি 'বিকল্প নয়' দিয়ে দুটি alচ্ছিক মানগুলি প্রতিস্থাপন করা।
##Example=name
##BGREN=optional raster
##Segment_Layer=optional vector
##output=output vector
if BGREN is not None:
processing.runalg('otb:segmentationmeanshift', \
BGREN, \
0, \
70, \
70, \
0.1, \
100, \
100, \
0, \
0, \
None, \
True, \
False, \
1, \
0.1, \
'Layer', \
'DN', \
1024, \
1, \
None, \
output)
else:
output=Segment_Layer