এই পৃষ্ঠাটি ক্যামেরা ইমেজ টেস্ট স্যুট (ITS) এর অধীনে পরীক্ষাগুলির একটি বিস্তৃত তালিকা প্রদান করে, যা অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) যাচাইকারীর অংশ। আইটিএস পরীক্ষাগুলি কার্যকরী পরীক্ষা, যার অর্থ তারা চিত্রের গুণমান পরিমাপ করে না, তবে বিজ্ঞাপনের সমস্ত ক্যামেরা ফাংশন প্রত্যাশিত হিসাবে কাজ করছে। এই নথিটি বিকাশকারী এবং পরীক্ষকদের পৃথক পরীক্ষাগুলি কী করে এবং কীভাবে পরীক্ষা ব্যর্থতাগুলি ডিবাগ করতে হয় তা বুঝতে দেয়৷
ক্যামেরা আইটিএস গেটগুলি প্রয়োজনীয় ক্যামেরা বৈশিষ্ট্য, API স্তর এবং মিডিয়া পারফরম্যান্স ক্লাস (MPC) স্তর দ্বারা পরীক্ষা করে। API স্তরের জন্য, ITS ব্যবহার করে ro.product.first_api_level
একটি নির্দিষ্ট API স্তরে যোগ করা গেট পরীক্ষা যা নিম্ন API স্তরের কার্যকারিতার জন্য নেতিবাচক ব্যবহারকারীর অভিজ্ঞতার জন্য পরীক্ষা করে। ITS ro.vendor.api_level
ব্যবহার করে একটি নির্দিষ্ট API স্তরে যোগ করা বৈশিষ্ট্যগুলির জন্য গেট পরীক্ষা করার জন্য যার জন্য নতুন হার্ডওয়্যার ক্ষমতা প্রয়োজন। যদি ro.odm.build.media_performance_class
একটি ডিভাইসের জন্য সংজ্ঞায়িত করা হয়, তাহলে MPC স্তরের উপর নির্ভর করে ITS-এর জন্য নির্দিষ্ট পরীক্ষা চালানো প্রয়োজন।
পরীক্ষাগুলি দৃশ্য অনুসারে গোষ্ঠীভুক্ত করা হয়েছে:
- দৃশ্য0 : ক্যাপচার মেটাডেটা, জিটার, জাইরোস্কোপ, কম্পন
- দৃশ্য1 : এক্সপোজার, সংবেদনশীলতা, ইভি ক্ষতিপূরণ, YUV বনাম JPEG/RAW
- দৃশ্য 2 : মুখ শনাক্তকরণ, রঙের দৃশ্যের প্রয়োজন পরীক্ষা
- দৃশ্য 3 : প্রান্ত বর্ধন, লেন্স আন্দোলন
- দৃশ্য 4 : আকৃতির অনুপাত, ক্রপিং, ফিল্ড-অফ-ভিউ
- দৃশ্য 5 : লেন্স শেডিং
- দৃশ্য 6 : জুম
- দৃশ্য7 : মাল্টি ক্যামেরা সুইচ
- দৃশ্য8 : AE এবং AWB অঞ্চল পরিমাপ
- দৃশ্য 9 : JPEG কম্প্রেশন
- দৃশ্য_এক্সটেনশন : ক্যামেরা এক্সটেনশন
- দৃশ্য_টেলি : টেলিফটো লেন্স স্যুইচিং
- দৃশ্য_ফ্ল্যাশ : অটোফ্ল্যাশ, মিনিট ফ্রেম রেট
- দৃশ্য_ভিডিও : ফ্রেম ড্রপস
- সেন্সর_ফিউশন : ক্যামেরা/জাইরোস্কোপ টাইমিং অফসেট
- ফিচার_কম্বিনেশন : ফিচার কম্বিনেশন
- scene_ip : ডিফল্ট ক্যামেরা অ্যাপ এবং JCA-এর মধ্যে ইমেজ প্যারিটি
প্রতিটি দৃশ্যের বর্ণনার জন্য পৃথক বিভাগ দেখুন।
দৃশ্য0
Scene0 পরীক্ষার জন্য কোনো নির্দিষ্ট দৃশ্যের তথ্যের প্রয়োজন হয় না। যাইহোক, জাইরোস্কোপ এবং ভাইব্রেশন পরীক্ষার জন্য ফোনটি অবশ্যই স্থির থাকতে হবে।
টেস্ট_জিটার
ক্যামেরার টাইমস্ট্যাম্পে জিটার পরিমাপ করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
পাস: ফ্রেমের মধ্যে কমপক্ষে 30 ms ডেল্টা আছে।
test_jitter_plot.png (ছোট y-অক্ষ পরিসরটি লক্ষ্য করুন। এই প্লটে জিটার আসলে ছোট।)
test_metadata
মেটাডেটা এন্ট্রির বৈধতা পরীক্ষা করে। ক্যাপচার ফলাফল এবং ক্যামেরা বৈশিষ্ট্য বস্তুর দিকে তাকান. এই পরীক্ষাটি auto_capture_request
এক্সপোজার ব্যবহার করে এবং মান অর্জন করে কারণ ছবির বিষয়বস্তু গুরুত্বপূর্ণ নয়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
-
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
-
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
-
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
পাস: হার্ডওয়্যার লেভেল, rollingShutterSkew
, frameDuration
ট্যাগ, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, এফওভি, হাইপারফোকাল দূরত্ব বিদ্যমান এবং বৈধ মান রয়েছে।
test_request_capture_match
পরীক্ষা করে যে ডিভাইসটি সঠিক এক্সপোজার লেখে এবং ক্যাপচার মেটাডেটা ফিরে পড়ে মান অর্জন করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
পাস: অনুরোধ এবং ক্যাপচার মেটাডেটা মান সমস্ত শট জুড়ে মেলে।
পরীক্ষা_সেন্সর_ইভেন্ট
সেন্সর ফিউশন সমর্থনের বিজ্ঞাপন দেয় এমন ডিভাইসগুলির জন্য সেন্সর ইভেন্টগুলি পরীক্ষা করে এবং সেন্সর ইভেন্টগুলি প্রিন্ট করে। প্রত্যাশিত সেন্সরগুলি হল অ্যাক্সিলোমিটার, জাইরোস্কোপ এবং ম্যাগনেটোমিটার। এই পরীক্ষাটি শুধুমাত্র তখনই কাজ করে যখন স্ক্রিন চালু থাকে, মানে ডিভাইসটি স্ট্যান্ডবাই মোডে না থাকে।
APIs পরীক্ষিত:
পাস: প্রতিটি সেন্সরের জন্য ইভেন্ট প্রাপ্ত হয়.
টেস্ট_সলিড_রং_পরীক্ষা_প্যাটার্ন
ক্যামেরা নিঃশব্দের জন্য কঠিন রঙের পরীক্ষার প্যাটার্নগুলি সঠিকভাবে তৈরি করা হয়েছে এমন পরীক্ষা। ক্যামেরা নিঃশব্দ সমর্থিত হলে, কঠিন রঙ পরীক্ষা নিদর্শন সমর্থিত হতে হবে। ক্যামেরা মিউট করা সমর্থিত না হলে, ক্ষমতার বিজ্ঞাপন দিলেই কঠিন রঙের পরীক্ষার প্যাটার্নগুলি পরীক্ষা করা হয়।
যদি RAW ইমেজ সমর্থিত হয়, রঙের অ্যাসাইনমেন্টও পরীক্ষা করা হয়। পরীক্ষিত রং হল কালো, সাদা, লাল, নীল এবং সবুজ। RAW ছবি সমর্থন করে না এমন ক্যামেরাগুলির জন্য, শুধুমাত্র কালো পরীক্ষা করা হয়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
-
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
-
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
পাস: সলিড টেস্ট প্যাটার্ন সমর্থিত সঠিক রঙ এবং ছবিতে কম বৈচিত্র্য রয়েছে।
পরীক্ষা_পরীক্ষা_প্যাটার্ন
প্রতিটি বৈধ পরীক্ষার প্যাটার্নের জন্য ফ্রেমগুলি ক্যাপচার করতে android.sensor.testPatternMode
প্যারামিটার পরীক্ষা করে এবং ফ্রেমগুলি কঠিন রঙ এবং রঙের বারগুলির জন্য সঠিকভাবে তৈরি হয়েছে কিনা তা পরীক্ষা করে। এই পরীক্ষায় নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত রয়েছে:
- সমস্ত সমর্থিত পরীক্ষার নিদর্শনগুলির জন্য চিত্রগুলি ক্যাপচার করে৷
- কঠিন রঙ পরীক্ষার প্যাটার্ন এবং রঙের বারগুলির জন্য একটি সহজ সঠিকতা পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
-
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
পাস: সমর্থিত পরীক্ষার নিদর্শন সঠিকভাবে তৈরি করা হয়।
test_test_patterns_2.jpg
test_tonemap_curve
রৈখিক টোনম্যাপ সহ RAW থেকে YUV-তে পরীক্ষার প্যাটার্নের রূপান্তর পরীক্ষা করে। টোনম্যাপ রূপান্তরের জন্য একটি নিখুঁত চিত্র প্যাটার্ন তৈরি করতে এই পরীক্ষার জন্য android.sensor.testPatternMode = 2
(COLOR_BARS) প্রয়োজন। পাইপলাইনে রৈখিক টোনম্যাপ এবং আদর্শ ইমেজ ইনপুট সহ সঠিক রঙের আউটপুট রয়েছে ( test_test_patterns
উপর নির্ভর করে) নিশ্চিত করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
পাস: YUV এবং RAW একে অপরের মতো দেখতে।
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp
ইমেজ এবং মোশন সেন্সর ইভেন্ট একই সময়ে ডোমেনে আছে কিনা তা পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
-
android.hardware.Sensor
-
android.hardware.SensorEvent
-
android.hardware.Sensor#TYPE_ACCELEROMETER
-
android.hardware.Sensor#TYPE_GYROSCOPE
পাস: মোশন টাইমস্ট্যাম্প দুটি ছবির টাইমস্ট্যাম্পের মধ্যে থাকে।
পরীক্ষা_কম্পন_সীমাবদ্ধতা
ডিভাইসের কম্পন প্রত্যাশা অনুযায়ী কাজ করছে কিনা তা পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.Sensor
-
android.hardware.SensorEvent
-
android.hardware.Sensor#TYPE_ACCELEROMETER
-
android.os.Vibrator
-
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
পাস: ক্যামেরা অডিও সীমাবদ্ধতা API দ্বারা নিঃশব্দ করা হলে ডিভাইসটি কম্পিত হয় না।
দৃশ্য1_1
দৃশ্য 1 একটি ধূসর চার্ট। ধূসর চার্টটি অবশ্যই ক্যামেরার দৃশ্যের ক্ষেত্রটির 30% কেন্দ্র কভার করবে৷ ধূসর চার্টটি 3A (অটো এক্সপোজার, অটো হোয়াইট ব্যালেন্স, অটো ফোকাস) মাঝারিভাবে চ্যালেঞ্জ করবে বলে আশা করা হচ্ছে কারণ কেন্দ্র অঞ্চলে কোনো বৈশিষ্ট্য নেই। যাইহোক, ক্যাপচার অনুরোধ পুরো দৃশ্যটি নির্দিষ্ট করে যা 3A-এর একত্রিত হওয়ার জন্য পর্যাপ্ত বৈশিষ্ট্য অন্তর্ভুক্ত করে।
RFoV ক্যামেরাগুলি WFoV বা RFoV টেস্ট রিগ-এ পরীক্ষা করা যেতে পারে। যদি WFoV টেস্ট রিগে একটি RFoV ক্যামেরা পরীক্ষা করা হয়, তাহলে চার্টটি ⅔ দ্বারা স্কেল করা হয় যাতে 3A কে একত্রিত হতে সাহায্য করার জন্য FoV-এ ধূসর চার্টের জন্য কিছু সীমানা নিশ্চিত করা হয়। ক্যামেরা পরীক্ষার রিগগুলির আরও বিশদ বিবরণের জন্য, ক্যামেরা আইটিএস-ইন-এ-বক্স দেখুন।
দৃশ্য1: পূর্ণ আকারের চার্ট (বামে)। ⅔ স্কেল করা চার্ট (ডানদিকে)।
test_ae_precapture_trigger
প্রিক্যাপচার ট্রিগার ব্যবহার করার সময় AE স্টেট মেশিন পরীক্ষা করে। AE অক্ষম সহ পাঁচটি ম্যানুয়াল অনুরোধ ক্যাপচার করে। শেষ অনুরোধে একটি AE প্রিক্যাপচার ট্রিগার রয়েছে, যেটিকে উপেক্ষা করা উচিত কারণ AE অক্ষম করা হয়েছে৷
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
-
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
পাস: AE একত্রিত হয়।
test_auto_vs_manual
স্বয়ংক্রিয় এবং ম্যানুয়াল শট ক্যাপচার করা পরীক্ষাগুলি একই দেখায়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
-
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
-
android.hardware.camera2.CaptureResult#TONEMAP_MODE
পাস: ক্যামেরার 3A অ্যালগরিদম থেকে স্বয়ংক্রিয় সাদা ব্যালেন্স estimate
সাথে মেলে প্রতিটি ক্যাপচার ফলাফলে ম্যানুয়াল হোয়াইট ব্যালেন্স লাভ এবং ট্রান্সফর্ম।
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
পরীক্ষা_কালো_সাদা
পরীক্ষা করে যে ডিভাইসটি সম্পূর্ণ কালো এবং সাদা ছবি তৈরি করে। দুটি ক্যাপচার নেয়, প্রথমটি অত্যন্ত কম লাভ এবং সংক্ষিপ্ত এক্সপোজার সহ, যার ফলে একটি কালো ফটো হয় এবং দ্বিতীয়টি অত্যন্ত উচ্চ লাভ এবং দীর্ঘ এক্সপোজার সহ, যার ফলে একটি সাদা ফটো হয়৷
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
পাস: কালো এবং সাদা ছবি তৈরি করে। সাদা ছবির স্যাচুরেটেড চ্যানেলের RGB মান রয়েছে [255, 255, 255] যার ত্রুটির মার্জিন 1% এর কম পার্থক্য রয়েছে।
![]() | ![]() | |
test_black_white_black.jpg | test_black_white_white.jpg |
test_black_white_plot_means.png
test_burst_capture
যাচাই করে যে পুরো ক্যাপচার পাইপলাইনটি ফুলসাইজ ক্যাপচার এবং CPU সময়ের গতির সাথে চলতে পারে।
APIs পরীক্ষিত:
পাস: পূর্ণ আকারের চিত্রগুলির একটি বিস্ফোরণ ক্যাপচার করে, ফ্রেম ড্রপ এবং ছবির উজ্জ্বলতা পরীক্ষা করে৷
test_burst_samameness_manual
ম্যানুয়াল ক্যাপচার সেটিং সহ 50টি চিত্রের 5টি বিস্ফোরণ নেয় এবং সেগুলি সব অভিন্ন কিনা তা পরীক্ষা করে৷ এই পরীক্ষাটি শনাক্ত করতে ব্যবহার করা যেতে পারে যে বিক্ষিপ্ত ফ্রেমগুলি আলাদাভাবে প্রক্রিয়া করা হয়েছে বা নিদর্শন রয়েছে কিনা।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
-
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
পাস: চিত্রগুলি দৃশ্যত এবং RGB মানগুলিতে অভিন্ন৷
ব্যর্থ: প্রতিটি বিস্ফোরণের শুরুতে RGB গড় চার্টের একটি স্পাইক বা ড্রপ দেখায়
-
first_API_level
<30 এর জন্য সহনশীলতা 3% -
first_API_level
>= 30 এর জন্য সহনশীলতা 2%
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
পরীক্ষা_ফসলের_অঞ্চল_কাঁচা
পরীক্ষা করে যে RAW স্ট্রীম ক্রপযোগ্য নয়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
-
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
-
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
পাস: YUV ছবিগুলি কেন্দ্রে কাটা হয় কিন্তু RAW ছবি নয়৷
test_crop_region_raw_comp_raw_crop.jpg
test_crop_region_raw_comp_raw_full.jpg
test_crop_region_raw_comp_yuv_crop.jpg
test_crop_region_raw_yuv_full.jpg
পরীক্ষা_ফসলের_অঞ্চল
ক্রপ অঞ্চল কাজ করে যে পরীক্ষা. একটি সম্পূর্ণ চিত্র নেয় এবং 5টি ভিন্ন অঞ্চলের প্যাচ তৈরি করে (কোণা এবং কেন্দ্র।) 5টি অঞ্চলের জন্য ক্রপ সেট সহ ছবি তোলে। প্যাচ এবং ক্রপ ছবির মান তুলনা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
-
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
পাস: ক্রপ করা অঞ্চলের চিত্রটি প্যাচের সাথে মেলে যা ক্রপ চিত্রের সাথে মিলে যায়।
পরীক্ষা_ইভি_ক্ষতিপূরণ
পরীক্ষা করে যে এক্সপোজার মান (EV) ক্ষতিপূরণ প্রয়োগ করা হয়েছে। পরীক্ষাটি একটি মৌলিক বিভাগ এবং একটি উন্নত বিভাগ নিয়ে গঠিত।
মৌলিক বিভাগ পরীক্ষা করে যে CONTROL_AE_COMPENSATION_STEP
দিয়ে তৈরি একটি পরিসর ব্যবহার করে EV ক্ষতিপূরণ প্রয়োগ করা হয়। প্রতিটি ক্ষতিপূরণ মূল্যে আটটি ফ্রেম ক্যাপচার করা হয়।
উন্নত বিভাগটি আটটি ধাপে এক্সপোজার বাড়ায় এবং প্রত্যাশিত উজ্জ্বলতার বিপরীতে পরিমাপকৃত উজ্জ্বলতা পরীক্ষা করে। কোনো EV ক্ষতিপূরণ প্রয়োগ না করেই প্রত্যাশিত মানগুলি চিত্রের উজ্জ্বলতা থেকে গণনা করা হয় এবং যদি গণনা করা মানগুলি প্রকৃত চিত্র মান পরিসীমা অতিক্রম করে তবে প্রত্যাশিত মান পরিপূর্ণ হয়৷ পরীক্ষা ব্যর্থ হয় যদি প্রত্যাশিত মান এবং পরিমাপ করা মান মেলে না বা চিত্রগুলি পাঁচটি ধাপের মধ্যে অতিমাত্রায় প্রকাশ পায়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
-
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
-
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
-
android.hardware.camera2.CaptureResult#TONEMAP_MODE
বেসিক সেকশন পাস: চিত্রগুলি পাঁচটি ধাপের মধ্যে অতিরিক্ত এক্সপোজার ছাড়াই ক্রমবর্ধমান এক্সপোজার দেখায়।
test_ev_compensation_basic.png
উন্নত বিভাগ পাস: EV ক্ষতিপূরণ সেটিং বৃদ্ধির সাথে সাথে লুমার বৃদ্ধি ক্যাপচার করে। প্রতিটি EV ক্ষতিপূরণ সেটিং এর জন্য ক্যাপচার করা আটটি ফ্রেমের স্থিতিশীল লুমা মান রয়েছে।
test_ev_compensation_advanced_plot_means.png
test_exposure_x_iso
পরীক্ষা করে যে একটি ধ্রুবক এক্সপোজার ISO হিসাবে অর্জন করা হয় এবং এক্সপোজার সময় পরিবর্তিত হয়। একে অপরের ভারসাম্য বজায় রাখার জন্য ISO এবং এক্সপোজার সময় বেছে নেওয়া শটগুলির একটি সিরিজ নেয়। ফলাফলগুলির উজ্জ্বলতা একই হওয়া উচিত, তবে ক্রম অনুসারে চিত্রটি আরও শোরগোল হওয়া উচিত। নমুনা পিক্সেল গড় মান একে অপরের কাছাকাছি যাচাই করে। নিশ্চিত করে যে ছবিগুলি 0 বা 1 এ আটকানো নেই (যা সেগুলিকে ফ্ল্যাট লাইনের মতো দেখাবে)। পরীক্ষাটি আপনার কনফিগারেশন ফাইলে debug
পতাকা সেট করে RAW চিত্রগুলির সাথেও চালানো যেতে পারে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
পাস: চিত্রগুলির উজ্জ্বলতা একই, তবে উচ্চতর আইএসওর সাথে আরও শোরগোল পান৷ আরজিবি প্লেনগুলি সমতল হয় যখন পরীক্ষিত লাভ স্পেসের উপর ISO*এক্সপোজারের মান স্থির থাকে।
ব্যর্থ প্রক্রিয়া:
-
test_exposure_plot_means.png
তে, লাভ গুণক মান (x-অক্ষ) বৃদ্ধির সাথে সাথে স্বাভাবিককৃত RGB সমতল গড় মান (y-অক্ষ) কম লাভ গুণক মান থেকে বিচ্যুত হতে শুরু করে।
test_exposure_plot_means.png
![]() | ![]() | |
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_latching
পরীক্ষা করে যে সেটিংস (এক্সপোজার এবং লাভ) FULL
এবং LEVEL_3
ক্যামেরার জন্য সঠিক ফ্রেমে ল্যাচ করে। ব্যাক-টু-ব্যাক অনুরোধগুলি ব্যবহার করে শটগুলির একটি সিরিজ নেয়, শটগুলির মধ্যে ক্যাপচার অনুরোধের পরামিতিগুলিকে আলাদা করে৷ ইমেজ প্রত্যাশিত বৈশিষ্ট্য আছে কিনা পরীক্ষা করে.
APIs পরীক্ষিত:
পাস: ছবিগুলি [2, 3, 6, 8, 10, 12, 13] ISO বা এক্সপোজার বাড়িয়েছে এবং test_latching_plot_means.png
এ উচ্চতর RGB মানে দেখানো হয়েছে।
![]() | ![]() | ![]() | |
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
![]() | |||
test_latching_i=12.jpg |
test_latching_plot_means.png
test_linearity
পরীক্ষা করে যে ডিভাইস প্রক্রিয়াকরণ লিনিয়ার পিক্সেলে উল্টানো যেতে পারে। একটি অভিন্ন লক্ষ্যে নির্দেশিত ডিভাইসের সাথে শটের একটি ক্রম ক্যাপচার করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
পাস: R, G, B মান অবশ্যই বর্ধিত সংবেদনশীলতার সাথে রৈখিকভাবে বৃদ্ধি পাবে।
test_linearity_plot_means.png
test_locked_burst
3A লক এবং YUV বার্স্ট পরীক্ষা করে (স্বয়ংক্রিয় সেটিং ব্যবহার করে)। MANUAL_SENSOR
বা PER_FRAME_CONTROLS
নেই এমন সীমিত ডিভাইসগুলিতেও এই পরীক্ষাটি পাস করার জন্য ডিজাইন করা হয়েছে৷ CTS-এ ফ্রেম রেট চেক করার সময় পরীক্ষা YUV ছবির সামঞ্জস্যতা পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
পাস: ক্যাপচারগুলি সামঞ্জস্যপূর্ণ দেখাচ্ছে।
test_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
দৃশ্য1_2
দৃশ্য 1_2 হল দৃশ্য 1_1 এর একটি কার্যকরীভাবে অভিন্ন অনুলিপি, দৃশ্য 1 এর বর্ধিত সময়কালকে উপশম করার জন্য একটি উপ-দৃশ্য কাঠামো বাস্তবায়ন করে।
পরীক্ষা_পরম_রং_সংশোধন
পরীক্ষা করে যে android.colorCorrection.*
প্যারামিটারগুলি সেট করার সময় প্রয়োগ করা হয়। বিভিন্ন রূপান্তর এবং লাভের মান সহ শট নেয়, এবং পরীক্ষা করে যে তারা অনুরূপভাবে ভিন্ন দেখায়। আউটপুট ক্রমবর্ধমান লাল বা নীল করার জন্য রূপান্তর এবং লাভগুলি বেছে নেওয়া হয়। একটি রৈখিক টোনম্যাপ ব্যবহার করে। টোন ম্যাপিং হল এমন একটি কৌশল যা ইমেজ প্রসেসিং-এ ব্যবহার করা হয় একটি রঙের একটি সেটকে অন্য রঙের সাথে ম্যাপ করার জন্য একটি মাধ্যম যা একটি আরও সীমিত গতিশীল পরিসীমা আছে উচ্চ-ডাইনামিক-রেঞ্জের চিত্রগুলির আনুমানিক উপস্থিতি।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
পাস: রূপান্তর অনুসারে R এবং B মানগুলি বৃদ্ধি পায়।
test_param_color_correction_plot_means.png
*এক্স-অক্ষ হল ক্যাপচার অনুরোধ: 0 = ঐক্য, 1=লাল বুস্ট, 2= নীল বুস্ট
test_param_color_correction_req=0.jpg
test_param_color_correctness_req=1.jpg (আর বুস্ট)
test_param_color_correction_req=2.jpg (B বুস্ট)
test_param_flash_mode
পরীক্ষা করে যে android.flash.mode
প্যারামিটার প্রয়োগ করা হয়েছে। ম্যানুয়ালি এক্সপোজারটিকে অন্ধকার দিকে সেট করে, যাতে এটি স্পষ্ট হয় যে ফ্ল্যাশ ফায়ার হয়েছে কি না, এবং একটি লিনিয়ার টোনম্যাপ ব্যবহার করে৷ ফ্ল্যাশ ফায়ার হয়েছে কিনা তা যাচাই করতে একটি বড় গ্রেডিয়েন্ট তৈরি করা হয়েছে কিনা তা দেখতে টাইল ইমেজ সহ কেন্দ্রটি পরীক্ষা করে।
APIs পরীক্ষিত:
পাস: টাইল চিত্রের কেন্দ্রে একটি বড় গ্রেডিয়েন্ট রয়েছে যার অর্থ হল ফ্ল্যাশ ফায়ার হয়েছে৷
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
পরীক্ষা_পরম_শব্দ_হ্রাস
পরীক্ষা করে যে android.noiseReduction.mode
প্যারামিটার সেট করার সময় সঠিকভাবে প্রয়োগ করা হয়েছে। অস্পষ্টভাবে আলোকিত ক্যামেরা দিয়ে ছবি ক্যাপচার করে। ক্যাপচার করা চিত্রটি শোরগোলপূর্ণ তা নিশ্চিত করতে একটি উচ্চ অ্যানালগ লাভ ব্যবহার করে। NR বন্ধ, "দ্রুত" এবং "উচ্চ মানের" জন্য তিনটি ছবি ক্যাপচার করে। এছাড়াও কম লাভ এবং NR বন্ধ সহ একটি চিত্র ক্যাপচার করে এবং এর বৈচিত্রটিকে বেসলাইন হিসাবে ব্যবহার করে। SNR (সিগন্যাল থেকে নয়েজ রেশিও) যত বেশি হবে, ছবির গুণমান তত ভালো হবে।
APIs পরীক্ষিত:
পাস: SNR বিভিন্ন শব্দ কমানোর মোডের সাথে পরিবর্তিত হয় এবং নীচের গ্রাফের মতো একইভাবে আচরণ করে।
test_param_noise_reduction_plot_SNRs.png
0: বন্ধ, 1: দ্রুত, 2: HQ, 3: MIN , 4: ZSL
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_shading_mode
পরীক্ষা করে যে android.shading.mode
প্যারামিটার প্রয়োগ করা হয়েছে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#SHADING_MODE
-
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
-
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
পাস: শেডিং মোডগুলি সুইচ করা হয়েছে এবং লেন্স শেডিং মানচিত্রগুলি প্রত্যাশিত হিসাবে পরিবর্তিত হয়েছে৷
test_param_shading_mode_ls_maps_mode_0_loop_0.png
test_param_shading_mode_ls_maps_mode_1_loop_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
পরীক্ষা করে যে android.tonemap.mode প্যারামিটার প্রয়োগ করা হয়েছে। প্রতিটি R, G, B চ্যানেলে বিভিন্ন টোনম্যাপ বক্ররেখা প্রয়োগ করে এবং আউটপুট চিত্রগুলি প্রত্যাশিত হিসাবে পরিবর্তিত হয়েছে কিনা তা পরীক্ষা করে। এই পরীক্ষাটি দুটি পরীক্ষা নিয়ে গঠিত, পরীক্ষা 1 এবং পরীক্ষা2।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
-
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
পাস:
- test1: উভয় চিত্রের একটি রৈখিক টোনম্যাপ আছে, কিন্তু n=1 এর একটি স্টিপার গ্রেডিয়েন্ট রয়েছে। G (সবুজ) চ্যানেলটি n=1 ছবির জন্য উজ্জ্বল।
- test2: একই টোনম্যাপ, কিন্তু ভিন্ন দৈর্ঘ্য। ছবি একই.
![]() | ![]() | |
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
পোস্ট RAW সংবেদনশীলতা বুস্ট চেক করে। বিভিন্ন সংবেদনশীলতার সাথে RAW এবং YUV ছবির একটি সেট ক্যাপচার করে, RAW সংবেদনশীলতা বুস্ট কম্বিনেশন পোস্ট করে এবং আউটপুট পিক্সেল মানে অনুরোধ সেটিংসের সাথে মেলে কিনা তা পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
-
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
পাস: বুস্ট বৃদ্ধির সাথে সাথে RAW ছবিগুলি গাঢ় হয় যখন YUV ছবিগুলি উজ্জ্বলতায় স্থির থাকে
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_exposure
ক্রমবর্ধমান এক্সপোজার সময়ের সাথে কাঁচা চিত্রের একটি সেট ক্যাপচার করে এবং পিক্সেল মান পরিমাপ করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
পাস: ISO (লাভ) বৃদ্ধি করা পিক্সেলগুলিকে আলোর প্রতি আরও সংবেদনশীল করে তোলে, তাই প্লটটি বাম দিকে চলে যায়।
test_raw_exposure_s=55.png
(10⁰ হল 1 ms, 10¹ হল 10 ms, 10⁻¹ হল 0.1 ms)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
পরীক্ষা_পুনঃপ্রক্রিয়া_শব্দ_হ্রাস
পরীক্ষা করে যে android.noiseReduction.mode
রিপ্রসেসিং রিকোয়েস্টের জন্য প্রয়োগ করা হয়েছে। অস্পষ্টভাবে আলোকিত ক্যামেরা দিয়ে পুনঃপ্রক্রিয়াকৃত ছবি ক্যাপচার করে। ক্যাপচার ইমেজ শোরগোল নিশ্চিত করতে একটি উচ্চ অ্যানালগ লাভ ব্যবহার করে। NR বন্ধ, "দ্রুত" এবং "উচ্চ মানের" জন্য তিনটি পুনঃপ্রক্রিয়াকৃত ছবি ক্যাপচার করে। কম লাভ এবং NR বন্ধ সহ একটি পুনঃপ্রসেস করা চিত্র ক্যাপচার করে এবং এর বৈচিত্রটিকে বেসলাইন হিসাবে ব্যবহার করে।
APIs পরীক্ষিত:
পাস: দ্রুত >= বন্ধ, সদর দপ্তর >= দ্রুত, সদর দপ্তর >> বন্ধ
সাধারণ SNR বনাম NR_MODE প্লট
test_tonemap_sequence
বিভিন্ন টোনম্যাপ বক্ররেখা দিয়ে শটের একটি ক্রম পরীক্ষা করে। একটি রৈখিক টোনম্যাপ সহ 3টি ম্যানুয়াল শট ক্যাপচার করে৷ ডিফল্ট টোনম্যাপ সহ 3টি ম্যানুয়াল শট ক্যাপচার করে। প্রতিটি পরপর ফ্রেম জোড়ার মধ্যে ডেল্টা গণনা করে।
APIs পরীক্ষিত:
পাস: 3টি অভিন্ন ফ্রেম রয়েছে যার পরে 3টি অভিন্ন ফ্রেমের একটি ভিন্ন সেট রয়েছে৷
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
ইমেজ ক্যাপচারের জন্য সমস্ত রিপোর্ট করা মাপ এবং ফরম্যাটগুলি পরীক্ষা করে। একটি রৈখিক টোনম্যাপ সহ একটি ম্যানুয়াল অনুরোধ ব্যবহার করে যাতে image_processing_utils
মডিউল দ্বারা রূপান্তরিত হলে YUV এবং JPEG একই দেখায়। ছবিগুলি ডিফল্টরূপে সংরক্ষণ করা হয় না, তবে debug_mode
সক্ষম করে সংরক্ষণ করা যেতে পারে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
-
android.graphics.ImageFormat#JPEG
পাস: সব ইমেজ সেন্টারে সর্বোচ্চ RMS (একটি সিগন্যালের রুট-মিন-স্কয়ার ভ্যালু) RGB কনভার্টেড ইমেজের মধ্যে সর্বোচ্চ রেজোলিউশনের YUV ইমেজের 3% পার্থক্য রয়েছে।
test_yuv_jpeg_all.png
test_yuv_plus_dng
ইমেজ ক্যাপচারের জন্য রিপোর্ট করা মাপ এবং ফরম্যাট কাজ করে তা পরীক্ষা করে।
APIs পরীক্ষিত:
পাস: পরীক্ষা সম্পন্ন হয় এবং অনুরোধ করা ছবি ফেরত দেয়।
test_yuv_plus_dng.jpg
দৃশ্য1_3
দৃশ্য 1_3 দৃশ্য 1_1 এর একটি কার্যকরীভাবে অভিন্ন অনুলিপি, দৃশ্য 1 এর বর্ধিত সময়কাল উপশম করার জন্য একটি উপ-দৃশ্য কাঠামো বাস্তবায়ন করে।
পরীক্ষা_ক্যাপচার_ফলাফল
পরীক্ষা করে যে বৈধ ডেটা CaptureResult
অবজেক্টে ফিরে আসে। একটি স্বয়ংক্রিয়, ম্যানুয়াল, এবং স্বয়ংক্রিয় ক্যাপচার করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
-
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
-
android.hardware.camera2.CaptureRequest#CONTROL_MODE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
-
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
পাস: মেটাডেটা সমস্ত ক্যাপচারের জন্য বৈধ এবং ম্যানুয়াল সেটিংস দ্বিতীয় স্বয়ংক্রিয় ক্যাপচারে ফাঁস হয় না। ক্যাপচারের জন্য লেন্স শেডিং সংশোধন প্লট আউট.
test_capture_result_plot_lsc_auto_ch0.png
test_dng_noise_model
DNG কাঁচা মডেলের প্যারামিটার সঠিক কিনা তা যাচাই করে। প্লটটি বিভিন্ন সংবেদনশীলতার পরিসরে ক্যাপচার করা কাঁচা শটগুলিতে ধূসর কার্ডের একটি কেন্দ্রের প্যাচের পরিমাপিত বৈচিত্র্যকে চিত্রিত করে, এবং ক্যামেরা HAL-তে DNG নয়েজ মডেলের দ্বারা প্রতিটি সংবেদনশীলতায় প্রত্যাশিত বৈচিত্রের সাথে এই মানগুলির তুলনা করে (ক্যাপচার ফলাফলের বস্তুগুলিতে ফিরে আসা O,S প্যারামিটারের উপর ভিত্তি করে)। DNG নয়েজ মডেলের আরও বিশদ বিবরণের জন্য, DNG নয়েজ মডেলে নিম্নলিখিত নথিটি ডাউনলোড করুন।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
-
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
-
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
পাস: DNG কাঁচা মডেলের পরামিতি সঠিক। প্রত্যাশিত RGB মান পরিমাপ করা প্রকৃত RGB মানের সাথে মেলে।
test_dng_noise_model_plog.png
test_jpeg
YUV ইমেজ এবং ডিভাইস JPEG ইমেজ রূপান্তরিত পরীক্ষা একই দেখায়। পরীক্ষাটি চিত্রের 10% কেন্দ্রে নেয় এবং RGB মান গণনা করে এবং যাচাই করে যে তারা মিলছে।
APIs পরীক্ষিত:
পাস: প্রতিটি ছবির মধ্যে গড় RGB পার্থক্য 3% এর কম।
![]() | ![]() | |
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_raw_burst_sensitivity
ক্রমবর্ধমান লাভের সাথে কাঁচা চিত্রের একটি সেট ক্যাপচার করে এবং গোলমাল পরিমাপ করে। শুধুমাত্র কাঁচা ক্যাপচার, একটি বিস্ফোরণ মধ্যে.
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
-
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
পাস: প্রতিটি শট আগের শটের চেয়ে বেশি শোরগোল, কারণ লাভ বাড়ছে।
কেন্দ্র পরিসংখ্যান গ্রিড কক্ষের ভিন্নতা ব্যবহার করে।
test_raw_burst_sensitivity_variance.png
test_raw_sensitivity
ক্রমবর্ধমান সংবেদনশীলতার সাথে কাঁচা চিত্রগুলির একটি সেট ক্যাপচার করে এবং ছবির 10% কেন্দ্রে গোলমাল (ভেরিয়েন্স) পরিমাপ করে৷ পরীক্ষা করে যে প্রতিটি শট আগেরটির চেয়ে বেশি শোরগোল।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
-
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
পাস: প্রতিটি শটের সাথে বৈচিত্র্য বাড়ে।
test_raw_sensitivity_variance.png
test_yuv_plus_jpeg
YUV এবং JPEG উভয় আউটপুট হিসাবে একটি একক ফ্রেম ক্যাপচার করা পরীক্ষা। একটি রৈখিক টোনম্যাপ সহ একটি ম্যানুয়াল অনুরোধ ব্যবহার করে যাতে image_processing_utils
মডিউল দ্বারা রূপান্তরিত হলে YUV এবং JPEG একই দেখায়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
-
android.graphics.ImageFormat#JPEG
পাস: YUV এবং JPEG চিত্রগুলি একই রকম এবং 1% এর কম RMS (একটি সংকেতের রুট-মিন-স্কয়ার মান) পার্থক্য রয়েছে৷
![]() | ![]() | |
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
সমর্থিত হলে RAW/RAW10/RAW12 এবং YUV আউটপুট উভয় হিসাবে একটি একক ফ্রেম ক্যাপচার করা পরীক্ষা। রৈখিক টোনম্যাপের সাথে একটি ম্যানুয়াল অনুরোধ ব্যবহার করে তাই কাঁচা এবং YUV একই হবে বলে আশা করা হচ্ছে। RGB রূপান্তরিত ছবির কেন্দ্রে 10% RGB মান তুলনা করে। লগ android.shading.mode
.
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
-
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_MODE
-
android.hardware.camera2.CaptureRequest#SHADING_MODE
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
-
android.hardware.graphics.ImageFormat#RAW10
-
android.hardware.graphics.ImageFormat#RAW12
পাস: YUV এবং কাঁচা চিত্রগুলি একই রকম এবং 3.5% এর কম RMS (একটি সংকেতের মূল-মান-বর্গ মান) পার্থক্য রয়েছে৷
![]() | ![]() | |
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
পরীক্ষা_সংবেদনশীলতা_অগ্রাধিকার
উচ্চতর ISO এবং বর্ধিত শব্দ মাত্রার মধ্যে সম্পর্ক নিশ্চিত করতে বিভিন্ন ISO সেটিংস জুড়ে CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
পরীক্ষা করে৷
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRIORITY_MODE
-
android.hardware.camera2.CaptureResult#CONTROL_AE_PRIORITY_MODE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureResult#CONTROL_AE_MODE
-
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_PRIORITY_MODES
পাস: উচ্চতর ISO এর ফলে শব্দের মাত্রা বৃদ্ধি পায়।
পরীক্ষা এড়িয়ে যাওয়ার মানদণ্ড
test_sensitivity_priority.py
পরীক্ষাটি বাদ দেওয়া হয় যদি নিম্নলিখিত মানদণ্ডগুলির মধ্যে কোনটি পূরণ করা হয়:
- ডিভাইসটির একটি প্রথম API স্তর রয়েছে (
first_api_level
) 35 বা তার কম৷ - ডিভাইসটি CONTROL_AE_AVAILABLE_PRIORITY_MODES- এ
CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
বিজ্ঞাপন দেয় না।
পরীক্ষা_এক্সপোজার_টাইম_অগ্রাধিকার
বিভিন্ন এক্সপোজার সময় জুড়ে CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY
পরীক্ষা করে, ISO ক্ষতিপূরণ দিতে পারে এমন পরিসরে স্থিতিশীল উজ্জ্বলতা পরীক্ষা করে৷
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraMetadata#CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRIORITY_MODE
-
android.hardware.camera2.CaptureResult#CONTROL_AE_PRIORITY_MODE
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
-
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureResult#CONTROL_AE_MODE
-
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_PRIORITY_MODES
পাস: ISO এর ক্ষতিপূরণ সীমার মধ্যে থাকলে উজ্জ্বলতা স্থিতিশীল (সহনশীলতার মধ্যে) এক্সপোজার সময় জুড়ে।
পরীক্ষা এড়িয়ে যাওয়ার মানদণ্ড
test_exposure_time_priority
পরীক্ষাটি বাদ দেওয়া হয় যদি নিম্নলিখিত মানদণ্ডগুলির মধ্যে কোনটি পূরণ করা হয়:
- ডিভাইসটির একটি প্রথম API স্তর রয়েছে (
first_api_level
) 35 বা তার কম৷ - ডিভাইসটি
CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY
CONTROL_AE_AVAILABLE_PRIORITY_MODES- এ বিজ্ঞাপন দেয় না।
দৃশ্য2_a
দৃশ্য2_a এর তিনটি মুখ রয়েছে যার একটি ধূসর পটভূমি এবং নিরপেক্ষ পোশাক রয়েছে। মুখগুলি ত্বকের টোনগুলির বিস্তৃত পরিসরের জন্য বেছে নেওয়া হয়। সঠিকভাবে কাজ করার জন্য চার্টে মুখ সনাক্তকরণের জন্য সঠিক অভিযোজন থাকতে হবে।
দৃশ্য2_a
test_autoframing
ক্যামেরা ডিভাইসের অটোফ্রেমিং আচরণ পরীক্ষা করে। একটি বড় জুম সঞ্চালন করে যাতে দৃশ্যের কোনও মুখই দৃশ্যমান হয় না, CaptureRequest
True
AUTOFRAMING
করে অটোফ্রেমিং মোড সক্ষম করে এবং যখন স্টেট একত্রিত হয় তখন আসল দৃশ্যের সমস্ত মুখ সনাক্ত করা যায় কিনা তা যাচাই করে (অর্থাৎ, যখন AUTOFRAMING_STATE
এ CaptureResult
এ AUTOFRAMING_STATE_CONVERGED
এ সেট করা হয়)।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
-
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
-
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
-
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
পাস: তিনটি মুখই সনাক্ত করা হয়েছে।
test_display_p3
ColorSpaceProfiles
API ব্যবহার করে JPEG-তে P3 ক্যাপচার প্রদর্শন করে । পরীক্ষা করে যে ক্যাপচার করা JPEG এর শিরোনামে একটি উপযুক্ত ICC প্রোফাইল রয়েছে এবং ছবিতে sRGB স্বরগ্রামের বাইরের রঙ রয়েছে৷
APIs পরীক্ষিত:
-
android.hardware.camera2.params.ColorSpaceProfiles
-
android.hardware.camera2.params.SessionConfiguration#setColorSpace
পাস: JPEG-এ একটি ডিসপ্লে P3 ICC প্রোফাইল এবং sRGB স্বরগ্রামের বাইরের রঙ রয়েছে।
পরীক্ষার_ প্রভাব
সমর্থিত ক্যামেরা প্রভাবগুলির জন্য ফ্রেম ক্যাপচার করে এবং সেগুলি সঠিকভাবে তৈরি হয়েছে কিনা তা পরীক্ষা করে। পরীক্ষাটি শুধুমাত্র প্রভাবগুলি OFF
এবং MONO
পরীক্ষা করে, কিন্তু সমস্ত সমর্থিত প্রভাবগুলির জন্য ছবি সংরক্ষণ করে৷
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
-
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
পাস: ইফেক্ট OFF
সহ দৃশ্যের চিত্র ক্যাপচার করে এবং MONO
সেট করা প্রভাব সহ একটি একরঙা চিত্র।
test_effects_MONO.jpg
test_exposure_keys_consistent
এই পরীক্ষাটি AE-অক্ষম ক্যাপচারের সাথে AE-সক্ষম ক্যাপচারের গড় লুমার তুলনা করে যা ম্যানুয়ালি AE-সক্ষম ক্যাপচারের CaptureResult
প্রাপ্ত এক্সপোজার প্যারামিটার (সংবেদনশীলতা, এক্সপোজার সময়, ফ্রেমের সময়কাল, পোস্ট কাঁচা সংবেদনশীলতা বুস্ট) প্রয়োগ করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
-
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
-
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
-
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureResult#SENSOR_FRAME_DURATION
-
android.hardware.camera2.CaptureResult#CONTROL_POST_RAW_SENSITIVITY_BOOST
পাস: দুটি ক্যাপচারের মধ্যে লুমার আপেক্ষিক পার্থক্য চার শতাংশের কম।
test_format_combos
আউটপুট ফরম্যাটের বিভিন্ন সমন্বয় পরীক্ষা করে।
APIs পরীক্ষিত:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
পাস: সমস্ত সংমিশ্রণ সফলভাবে ক্যাপচার করা হয়েছে।
পরীক্ষার_সংখ্যা_মুখ
পরীক্ষা মুখ সনাক্তকরণ.
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: তিনটি মুখ খুঁজে বের করে।
test_num_faces_fd_mode_1.jpg
test_reprocess_uv_swap
পরীক্ষা যে YUV পুনরায় প্রক্রিয়াকরণ U এবং V প্লেনগুলিকে অদলবদল করে না। এটি পুনঃপ্রক্রিয়াজাত চিত্র এবং একটি অ-পুনঃপ্রক্রিয়াজাত ক্যাপচারের মধ্যে পরম পার্থক্যের যোগফল (SAD) গণনা করে সনাক্ত করা হয়। যদি পুনঃপ্রক্রিয়াকৃত ক্যাপচারের আউটপুট U এবং V প্লেনগুলিকে অদলবদল করার ফলে SAD বৃদ্ধি পায়, তাহলে আউটপুটে সঠিক U এবং V প্লেন রয়েছে বলে ধরে নেওয়া হয়।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraDevice#createCaptureSession
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
-
android.hardware.camera2.CaptureRequest#EDGE_MODE
-
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
পাস: U এবং V প্লেনগুলি অদলবদল করা হয় না।
test_reprocess_uv_swap.png
দৃশ্য2_খ
পরীক্ষার_প্রিভিউ_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে প্রিভিউতে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: ফেস বাউন্ডিং বাক্সে মুখের ল্যান্ডমার্ক সহ 3টি মুখ খুঁজে পায়।
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
1920x1440 রেজোলিউশনের বেশি না হওয়া বৃহত্তম JPEG ফর্ম্যাটের মতো একই আকৃতির অনুপাত সহ বৃহত্তম সাধারণ YUV এবং JPEG ফর্ম্যাটগুলি ব্যবহার করে দুটি চিত্র ক্যাপচার করে৷ jpeg.quality
100 এ সেট করে এবং দ্বৈত পৃষ্ঠের অনুরোধ ক্যাপচার করে। উভয় চিত্রকে RGB অ্যারেতে রূপান্তর করে এবং দুটি চিত্রের মধ্যে 3D রুট গড় বর্গক্ষেত্র (RMS) পার্থক্য গণনা করে।
উপরন্তু, এই পরীক্ষাটি যাচাই করে যে সমস্ত সমর্থিত স্ট্রীম ব্যবহারের ক্ষেত্রে YUV আউটপুটগুলি STILL_CAPTURE
ব্যবহারের ক্ষেত্রে YUV-এর সাথে যুক্তিসঙ্গতভাবে একই রকম।
APIs পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
-
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
-
android.graphics.ImageFormat#JPEG
পাস: STILL_CAPTURE
ব্যবহারের ক্ষেত্রে YUV এবং JPEG চিত্রগুলির মধ্যে 3% এর কম RMS (একটি সংকেতের রুট-মিন-স্কয়ার মান) পার্থক্য রয়েছে; সমস্ত সমর্থিত ব্যবহারের ক্ষেত্রে YUV চিত্রগুলির STILL_CAPTURE
ব্যবহারের ক্ষেত্রে YUV চিত্রগুলির থেকে 10% এর কম RMS পার্থক্য রয়েছে৷
দৃশ্য2_c
পরীক্ষার_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: 3টি মুখ খুঁজে পায়।
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
সিডিডি-তে বিভাগ 2.2.7.2 ক্যামেরাতে নির্দিষ্ট করা S পারফরম্যান্স ক্লাসের জন্য JPEG ক্যাপচার লেটেন্সি পরীক্ষা করে।
পাস: 1080p রেজোলিউশনের জন্য ক্যামেরা2 JPEG ক্যাপচার লেটেন্সি < 1000ms থাকতে হবে যা CTS ক্যামেরা পারফরম্যান্স টেস্ট দ্বারা ITS আলোক অবস্থার অধীনে (3000K) উভয় প্রাথমিক ক্যামেরার জন্য পরিমাপ করে।
পরীক্ষা_ক্যামেরা_লঞ্চ_পারফ_ক্লাস
CDD-এ নির্দিষ্ট বিভাগ 2.2.7.2 ক্যামেরা হিসাবে S পারফরম্যান্স ক্লাসের জন্য ক্যামেরা লঞ্চ লেটেন্সি পরীক্ষা করে।
পাস: ক্যামেরা2 স্টার্টআপ লেটেন্সি থাকতে হবে (প্রথম প্রিভিউ ফ্রেমে ক্যামেরা খুলুন) < 600ms যেমন CTS ক্যামেরা পারফরম্যান্স টেস্ট দ্বারা পরিমাপ করা হয়েছে ITS আলোর অবস্থার অধীনে (3000K) উভয় প্রাথমিক ক্যামেরার জন্য।
test_default_camera_hdr
পরীক্ষা করে যে ডিফল্ট ক্যামেরা ক্যাপচার হল পারফরম্যান্স ক্লাস 15-এর জন্য আল্ট্রা এইচডিআর যা CDD-এর বিভাগ 2.2.7.2 ক্যামেরায় উল্লেখ করা হয়েছে।
পাস: ডিফল্ট ক্যামেরা প্যাকেজ ক্যাপচার একটি পারফরম্যান্স ক্লাস 15 ডিভাইসের জন্য আল্ট্রা HDR হতে হবে।
দৃশ্য2_d
পরীক্ষার_প্রিভিউ_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে প্রিভিউতে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: ফেস বাউন্ডিং বাক্সে মুখের ল্যান্ডমার্ক সহ 3টি মুখ খুঁজে পায়।
দৃশ্য2_e
পরীক্ষা_নিরবচ্ছিন্ন_ছবি
50টি ভিজিএ রেজোলিউশন ফ্রেম ক্যাপচার অনুরোধের সাথে ক্যাপচার করা হয়েছে প্রথম সেটিং android.control.afMode = 4 (CONTINUOUS_PICTURE).
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
-
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
-
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
-
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
পাস: 3A সিস্টেম 50-ফ্রেম ক্যাপচারের শেষে স্থায়ী হয়।
পরীক্ষার_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: 3টি মুখ খুঁজে পায়।
দৃশ্য2_f
scene2_f এর তিনটি মুখ রয়েছে যার একটি সাদা পটভূমি এবং সাদা পোশাক রয়েছে৷ মুখের ত্বকের টোন বিস্তৃত এবং ব্যাকগ্রাউন্ডের সাথে উচ্চ বৈসাদৃশ্য রয়েছে।
দৃশ্য2_f
পরীক্ষার_প্রিভিউ_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: ফেস বাউন্ডিং বাক্সে মুখের ল্যান্ডমার্ক সহ 3টি মুখ খুঁজে পায়।
test_num_faces_fd_mode_1.jpg
দৃশ্য2_g
scene2_g এর একটি সাদা ব্যাকগ্রাউন্ড এবং সাদা পোশাক সহ তিনটি প্রোফাইল মুখ রয়েছে৷ মুখের ত্বকের টোন বিস্তৃত এবং ব্যাকগ্রাউন্ডের সাথে উচ্চ বৈসাদৃশ্য রয়েছে।
দৃশ্য2_g
পরীক্ষার_প্রিভিউ_সংখ্যা_মুখ
মুখের দৃশ্যে ত্বকের স্বর বৈচিত্র্যের সাথে মুখ সনাক্তকরণ পরীক্ষা করে।
APIs পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
পাস: ফেস বাউন্ডিং বাক্সে মুখের ল্যান্ডমার্ক সহ 3টি মুখ খুঁজে পায়।
পরীক্ষার_প্রিভিউ_সংখ্যা_মুখ
দৃশ্য৩
দৃশ্য 3 আইএসও 12233 চার্ট ব্যবহার করে এবং বেশিরভাগ পরীক্ষাগুলি দৃশ্যে চার্টটি খুঁজে পেতে একটি চার্ট এক্সট্র্যাক্টর পদ্ধতি ব্যবহার করে। এই কারণে, সংরক্ষিত বেশিরভাগ চিত্রগুলিতে 1, 2 বা 4 দৃশ্যের জন্য চিত্রগুলির মতো সীমানা নেই তবে কেবল চার্ট। চার্টটি অবশ্যই চার্ট সন্ধানকারীকে সর্বোত্তমভাবে কাজ করার জন্য সঠিক ওরিয়েন্টেশনে থাকতে হবে।
টেস্ট_জ_এনহেন্সমেন্ট
পরীক্ষাগুলি যে android.edge.mode
প্যারামিটারটি সঠিকভাবে প্রয়োগ করা হয়। প্রতিটি প্রান্ত মোডের জন্য অ-প্রাসঙ্গিক চিত্রগুলি ক্যাপচার করে এবং আউটপুট চিত্র এবং ক্যাপচার ফলাফলের মেটাডেটাটির তীক্ষ্ণতা দেয়। প্রদত্ত প্রান্ত মোড, সংবেদনশীলতা, এক্সপোজার সময়, ফোকাস দূরত্ব এবং আউটপুট পৃষ্ঠের পরামিতি সহ ক্যাপচার অনুরোধ প্রক্রিয়া করে।
পাস: HQ
মোড (2) OFF
মোডের চেয়ে তীক্ষ্ণ (0)। FAST
মোড (1) OFF
মোডের চেয়ে তীক্ষ্ণ। HQ
মোড তীক্ষ্ণ বা FAST
মোডের সমান।
এপিআইএস পরীক্ষিত:
প্রভাবিত ক্যামেরা পরামিতি:
-
EDGE_MODE
Test_ge_enhancement_ade = 0.jpg
test_ge_enhancement_ade = 1.jpg (দ্রুত মোড)
test_ge_enhancement_ade = 2.jpg (উচ্চ মানের মোড)
পরীক্ষা_ফ্লিপ_মিরর
সিডিডি বিভাগ 7.5.2 ফ্রন্ট-ফেসিং ক্যামেরা [সি -1-5] অনুসারে চিত্রটি যথাযথভাবে ভিত্তিক হলে পরীক্ষাগুলি পরীক্ষা করে।
মিরর, উল্টানো, বা ঘোরানো চিত্রগুলি কেন্দ্রের নিকটে হীরা বৈশিষ্ট্য দ্বারা চিহ্নিত করা যেতে পারে।
পাস: চিত্রটি উল্টানো, মিরর বা ঘোরানো হয়নি।
test_flip_miror_scene_patch.jpg
test_imu_drift
পরীক্ষাগুলি যদি ইনটারিয়াল পরিমাপ ইউনিট (আইএমইউ) 30 সেকেন্ডের জন্য স্থিতিশীল আউটপুট থাকে তবে ডিভাইসটি স্থির থাকে এবং একটি উচ্চ সংজ্ঞা পূর্বরূপ ক্যাপচার করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.Sensor
-
android.hardware.SensorEvent
-
android.hardware.Sensor#TYPE_GYROSCOPE
-
android.hardware.Sensor#TYPE_ROTATION_VECTOR
পাস:
- জাইরোর প্রবাহ পরীক্ষার সময় ধরে 0.01 আরএডি এর চেয়ে কম।
- জাইরো রিডিংয়ের বৈচিত্রটি পরীক্ষার সময়টিতে 1E-7 আরএডি 2 /এস 2 /হার্জেডের চেয়ে কম।
- রোটেশন ভেক্টরের প্রবাহ পরীক্ষার সময় ধরে 0.01 আরএডি এর চেয়ে কম।
- (এখনও বাধ্যতামূলক নয়) গাইরোর প্রবাহ প্রতি সেকেন্ডে 1 ডিগ্রিরও কম।
test_imu_drift_gyro_drift.png
test_imu_drift_rotation_vector_drift.png
Test_landscape_to_portrait
পরীক্ষাগুলি যদি ল্যান্ডস্কেপ টু প্রতিকৃতি ল্যান্ডস্কেপ-ভিত্তিক সেন্সরগুলির জন্য সঠিকভাবে ফাংশনগুলি ওভাররাইড করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
-
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
-
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
পাস: পরীক্ষাটি প্রত্যাশিত ঘূর্ণন (0 ডিগ্রি যখন প্রতিকৃতি ওভাররাইডে ল্যান্ডস্কেপটি অক্ষম করা হয় তখন 0 ডিগ্রি, সক্ষম হলে 90 ডিগ্রি) সনাক্ত করতে সক্ষম।
test_landscape_to_portrait.png
Test_lens_movement_reporting
যদি লেন্সের চলাচল পতাকাটি সঠিকভাবে রিপোর্ট করা হয় তবে পরীক্ষাগুলি। সর্বোত্তম ফোকাস দূরত্বে প্রথম 12 ফ্রেমের সাথে 24 টি চিত্রের একটি ফেটে ক্যাপচার করে (3 এ দ্বারা পাওয়া যায়) এবং সর্বনিম্ন ফোকাস দূরত্বে সর্বশেষ 12 ফ্রেম। ফ্রেম 12 এর আশেপাশে, লেন্সগুলি তীক্ষ্ণতা নেমে যাওয়ার ফলে চলে যায়। লেন্সগুলি চূড়ান্ত অবস্থানে চলে যাওয়ার সাথে সাথে তীক্ষ্ণতা অবশেষে স্থিতিশীল হয়। লেন্সের চলাচলের পতাকাটি সমস্ত ফ্রেমে জোর দেওয়া উচিত যেখানে প্রথম কয়েকটি ফ্রেমে তীক্ষ্ণতা মধ্যবর্তী হয় সর্বোত্তম ফোকাল দূরত্বে লেন্স স্টেশনারি সহ প্রথম কয়েকটি ফ্রেমে তীক্ষ্ণতা এবং চূড়ান্ত কয়েকটি ফ্রেম যেখানে লেন্স ন্যূনতম ফোকাল দূরত্বে স্থির থাকে। লেন্সের চালগুলি সঠিক ফ্রেমটি গুরুত্বপূর্ণ নয়: যা যাচাই করা হয় তা হ'ল লেন্সটি চলমান অবস্থায় আন্দোলনের পতাকাটি জোর দেওয়া হয়।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
-
android.hardware.camera2.CaptureResult#LENS_STATE
-
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
-
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
-
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
পাস: তীক্ষ্ণতা পরিবর্তনের সাথে ফ্রেমে লেন্সের আন্দোলনের পতাকাটি True
।
ব্যর্থ প্রক্রিয়া:
-
lens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1)test_log.DEBUG
কেবলমাত্র ফ্রেমে জোর দেওয়া হয়েছে যেখানে তীক্ষ্ণতা পরিবর্তন হচ্ছে না। -
lens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0)test_log.DEBUG
সর্বোত্তম ফোকাল দূরত্বে প্রথম কয়েকটি ফ্রেমের তুলনায় বা ন্যূনতম ফোকাস দূরত্বে শেষ কয়েকটি ফ্রেমের তুলনায় একটি তীক্ষ্ণ পার্থক্য রয়েছে।
Test_reprocess_age_enhancement
পরীক্ষাগুলি যদি প্রান্ত বর্ধনের জন্য পুনরায় প্রসেস পদ্ধতিগুলি সমর্থন করে তবে সঠিকভাবে কাজ করে। প্রদত্ত পুনরায় প্রসেস এজ মোডের সাথে ক্যাপচার অনুরোধ প্রক্রিয়া করে এবং পুনরায় প্রসেস এজ মোডগুলি অক্ষম করে ক্যাপচারের জন্য বিভিন্ন মোডের তুলনা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#EDGE_MODE
-
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
পাস: বিভিন্ন প্রান্ত মোডের জন্য তীক্ষ্ণতা সঠিক। HQ
(মোড 2) OFF
চেয়ে তীক্ষ্ণ (মোড 0), এবং বিভিন্ন মোডের মধ্যে উন্নতি একই রকম।
test_reprocess_age_enhancement_plot.png
দৃশ্য 4
দৃশ্য 4 একটি বর্গক্ষেত্রের ভিতরে একটি সাদা পটভূমিতে একটি কালো বৃত্ত নিয়ে গঠিত। দৃশ্য 4 এর পরীক্ষাগুলি প্রান্তিককরণের জন্য সংবেদনশীল হতে পারে, সুতরাং 15 থেকে শুরু করে আপনি ডিইটি এবং চার্ট সারিবদ্ধকরণের একটি চেক সক্ষম করতে সরঞ্জাম ডিরেক্টরিতে check_alignment.py
ব্যবহার করতে পারেন।
দৃশ্য 4
test_30_60fps_preview_fov_match
পরীক্ষা করে যে 30 এফপিএস এবং 60 এফপিএস পূর্বরূপ ভিডিওতে একই FOV রয়েছে। পরীক্ষাটি দুটি ভিডিও ক্যাপচার করে, একটি 30 এফপিএস সহ এবং অন্যটি 60 এফপিএস সহ। প্রতিটি ভিডিও থেকে একটি প্রতিনিধি ফ্রেম নির্বাচন করা হয় এবং দুটি ভিডিওতে এফওভি পরিবর্তনগুলি নির্দিষ্টকরণের মধ্যে রয়েছে তা নিশ্চিত করার জন্য বিশ্লেষণ করা হয়। পরীক্ষাগুলি যে বৃত্তের দিক অনুপাত স্থির থাকে, বৃত্তের কেন্দ্রটি স্থিতিশীল থাকে এবং বৃত্তের ব্যাসার্ধ স্থির থাকে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
-
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
পাস: চিত্রগুলি প্রসারিত করা হয় না, চিত্রগুলির কেন্দ্র 3%এর বেশি দ্বারা পৃথক হয় না এবং 30 এফপিএস এবং 60 এফপিএস ভিডিওর মধ্যে সর্বাধিক দিক অনুপাত পরিবর্তন 7.5%এর বেশি নয়
ব্যর্থ প্রক্রিয়া:
- 30 এফপিএস ভিডিওর বৃত্তটি 60 এফপিএস ভিডিও থেকে আকারে উল্লেখযোগ্যভাবে আলাদা।
- ক্যাপচার করা চিত্রের বৃত্তটি প্রসেসিং পাইপলাইন দ্বারা বিকৃত হয়।
- চিত্রের উচ্চতা বা প্রস্থকে হ্রাস করার জন্য চরম দিক অনুপাত ক্যাপচার অনুরোধের কারণে ক্যাপচার করা চিত্রের বৃত্তটি ক্রপ করা হয়।
- ক্যাপচার করা চিত্রের বৃত্তটির কেন্দ্রে একটি প্রতিচ্ছবি রয়েছে এবং এটি পুরোপুরি ভরাট প্রদর্শিত হয় না।
পরীক্ষা_আসপেক্ট_অনুপাত_এবং_ফসল
চিত্রগুলি যদি চিত্রগুলি বিকৃত বা চিত্রের পাইপলাইনে অপ্রত্যাশিতভাবে ক্রপ করা হয়। সমস্ত ফর্ম্যাটে একটি বৃত্তের ছবি তুলে। বৃত্তটি বিকৃত নয়, যাচাই করে, বৃত্তটি চিত্রের কেন্দ্র থেকে সরে যায় না এবং বৃত্তটি বিভিন্ন দিক অনুপাত বা রেজোলিউশনের সাথে আকারটি ভুলভাবে পরিবর্তন করে না।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
পাস: চিত্রগুলি প্রসারিত হয় না, চিত্রগুলির কেন্দ্র 3%এর বেশি দ্বারা পৃথক হয় না এবং সর্বাধিক সম্ভাব্য এফওভি (দেখার ক্ষেত্র) সংরক্ষণ করা হয়।
ব্যর্থ প্রক্রিয়া:
- ক্যাপচার দৃশ্যের কেন্দ্রে ট্যাবলেটে প্রদর্শিত বৃত্তের সাথে ক্যামেরাটি একত্রিত হয় না।
- ক্যাপচার করা চিত্রের বৃত্তটি প্রসেসিং পাইপলাইন দ্বারা বিকৃত হয়।
- নিম্ন রেজোলিউশন চিত্রটি চিত্র পাইপলাইনে ডাবল ক্রপ করা হয় উচ্চ এবং নিম্ন রেজোলিউশন চিত্রগুলির মধ্যে বিভিন্ন এফওভি তৈরি করে।
- চিত্রের উচ্চতা বা প্রস্থকে হ্রাস করার জন্য চরম দিক অনুপাত ক্যাপচার অনুরোধের কারণে ক্যাপচার করা চিত্রের বৃত্তটি ক্রপ করা হয়।
- ক্যাপচার করা চিত্রের বৃত্তটির কেন্দ্রে একটি প্রতিচ্ছবি রয়েছে এবং এটি পুরোপুরি ভরাট প্রদর্শিত হয় না।
টেস্ট_মুল্টি_কামেরা_লাইনমেন্ট
মাল্টি-ক্যামেরা সিস্টেমগুলির জন্য ক্যামেরা পজিশন সম্পর্কিত ক্যামেরা ক্রমাঙ্কন পরামিতিগুলি পরীক্ষা করে। মাল্টি-ক্যামেরা শারীরিক সাব-ক্যামেরাস ব্যবহার করে, শারীরিক ক্যামেরাগুলির মধ্যে একটি সহ একটি ছবি নেয়। বৃত্ত কেন্দ্রটি সন্ধান করে। প্রতিটি ক্যামেরার জন্য বিশ্ব সমন্বয় করে সার্কেল সেন্টার প্রজেক্ট করে। বিশ্ব স্থানাঙ্কগুলিতে ক্যামেরার বৃত্ত কেন্দ্রগুলির মধ্যে পার্থক্য তুলনা করে। প্রত্যাখ্যানগুলি বিশ্বকে পিক্সেল স্থানাঙ্কের সাথে আবার সমন্বয় করে এবং বৈধতা চেক হিসাবে মূলগুলির সাথে তুলনা করে। ক্যামেরার ফোকাল দৈর্ঘ্য আলাদা কিনা তা বৃত্তের আকারগুলি যাচাইয়ের তুলনা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
-
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
-
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
-
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
-
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
-
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
পাস: ক্যামেরা ক্যালিব্রেশন ডেটা এবং ফোকাল দৈর্ঘ্য ব্যবহার করে ক্যাপচার করা চিত্রগুলির তুলনায় প্রত্যাশিত চিত্রগুলিতে চেনাশোনা কেন্দ্র এবং আকারগুলি প্রত্যাশিত হিসাবে।
ব্যর্থ প্রক্রিয়া:
-
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
, বাLENS_POSE_ROTATION
হ'ল নকশার মান এবং প্রকৃত ক্রমাঙ্কন ডেটা নয়। - পরীক্ষা সেটআপের জন্য ক্যামেরা সিস্টেম উপযুক্ত নয়। উদাহরণস্বরূপ, আরএফওভি পরীক্ষার রিগের সাথে একটি প্রশস্ত এবং একটি অতি-প্রশস্ত ক্যামেরা সিস্টেম পরীক্ষা করা। আরও তথ্যের জন্য, ক্যামেরাটি এর-ইন-এ-বক্স FAQ1 দেখুন।
test_preview_aspect_ratio_and_crop
এখনও ক্যাপচারের জন্য টেস্ট_এএসপেক্ট_আরটিও_এন্ড_ক্রপ পরীক্ষার অনুরূপ, এই পরীক্ষাটি পূর্বরূপ ফ্রেমগুলি প্রসারিত বা অনুপযুক্তভাবে ক্রপ না করে তা নিশ্চিত করার জন্য সমর্থিত পূর্বরূপ ফর্ম্যাটগুলি পরীক্ষা করে। যাচাই করে যে বৃত্তের দিক অনুপাতটি পরিবর্তন হয় না, ক্রপযুক্ত চিত্রগুলি বৃত্তটিকে ফ্রেমের কেন্দ্রে রাখে এবং বৃত্তের আকারটি একটি ধ্রুবক বিন্যাসের জন্য বা বিভিন্ন রেজোলিউশন (ভিউ চেকের ক্ষেত্র) সহ পরিবর্তন হয় না।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
পাস: চিত্রগুলি প্রসারিত হয় না, চিত্রগুলির কেন্দ্র 3%এর বেশি দ্বারা পৃথক হয় না এবং সর্বাধিক সম্ভাব্য এফওভি (দেখার ক্ষেত্র) সংরক্ষণ করা হয়।
test_preview_stabilization_fov
এফওভি যথাযথভাবে ক্রপ করা হয়েছে তা নিশ্চিত করতে সমর্থিত পূর্বরূপ আকারগুলি পরীক্ষা করে। পরীক্ষাটি দুটি ভিডিও ক্যাপচার করে, একটি পূর্বরূপ স্থিতিশীলতার ON
এবং অন্যটি পূর্বরূপ স্থিতিশীলতার সাথে OFF
। প্রতিটি ভিডিও থেকে একটি প্রতিনিধি ফ্রেম নির্বাচন করা হয় এবং দুটি ভিডিওতে এফওভি পরিবর্তনগুলি নির্দিষ্টের মধ্যে রয়েছে তা নিশ্চিত করার জন্য বিশ্লেষণ করা হয়।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
পাস: বৃত্তের দিক অনুপাতটি ধ্রুবক সম্পর্কে থেকে যায়, বৃত্তের কেন্দ্রের অবস্থান স্থিতিশীল থাকে এবং বৃত্তের আকারটি 20%এর বেশি পরিবর্তন করে না।
পরীক্ষা_ভিডিও_আসপেক্ট_অনুপাত_এবং_ফসল
সমস্ত ভিডিও ফর্ম্যাটের উপরে বর্গক্ষেত্রের ভিতরে একটি বৃত্তের ভিডিও নেয়। মূল ফ্রেমগুলি বের করে এবং বৃত্তের দিক অনুপাতটি যাচাই করে তা যাচাই করে, ক্রপযুক্ত চিত্রগুলি বৃত্তটিকে কেন্দ্রে রাখে এবং বৃত্তের আকারটি একটি ধ্রুবক বিন্যাসের জন্য বা বিভিন্ন রেজোলিউশন (ভিউ চেকের ক্ষেত্র) সহ পরিবর্তিত হয় না।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
পাস: ভিডিও ফ্রেমগুলি প্রসারিত হয় না, ফ্রেমের কেন্দ্রটি 3%এর বেশি দ্বারা পৃথক হয় না এবং সর্বাধিক সম্ভাব্য এফওভি (দেখার ক্ষেত্র) সংরক্ষণ করা হয়।
দৃশ্য 5
দৃশ্য 5 এর জন্য অভিন্ন আলোকিত ধূসর দৃশ্যের প্রয়োজন। এটি ক্যামেরা লেন্সের উপরে রাখা একটি ডিফিউজার দ্বারা সম্পন্ন হয়। আমরা নিম্নলিখিত ডিফিউজারটি সুপারিশ করি: www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
।
দৃশ্যটি প্রস্তুত করতে, ক্যামেরার সামনে একটি ডিফিউজার সংযুক্ত করুন এবং ক্যামেরাটিকে প্রায় 2000 লাক্সের আলোক উত্সে নির্দেশ করুন। দৃশ্য 5 এর জন্য ক্যাপচার করা চিত্রগুলির জন্য কোনও বৈশিষ্ট্য স্পষ্ট না করে ডিফিউজ লাইটিং প্রয়োজন। নিম্নলিখিত একটি নমুনা চিত্র:
দৃশ্য 5 ক্যাপচার
Test_lens_shading_and_color_uniformity
লেন্স শেডিং সংশোধন যথাযথভাবে প্রয়োগ করা হয় এবং একরঙা ইউনিফর্ম দৃশ্যের রঙ সমানভাবে বিতরণ করা হয়। অটো 3 এ সহ একটি ইউভ ফ্রেমে এই পরীক্ষাটি সম্পাদন করে। লেন্স শেডিং ওয়াই চ্যানেলের উপর ভিত্তি করে মূল্যায়ন করা হয়। নির্দিষ্ট প্রতিটি নমুনা ব্লকের জন্য গড় y মান পরিমাপ করে এবং কেন্দ্রের y মানের সাথে তুলনা করে পাস বা ব্যর্থতা নির্ধারণ করে। রঙিন ইউনিফর্মিটি পরীক্ষা আর/জি এবং বি/জি স্পেসে মূল্যায়ন করা হয়।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
পাস: চিত্রের নির্দিষ্ট ব্যাসার্ধে, পরীক্ষাটি পাস করতে আর/জি এবং বি/জি মানের বৈকল্পিকতা 20% এরও কম হতে হবে।
দৃশ্য 6
দৃশ্য 6 হ'ল অনন্যভাবে সনাক্তযোগ্য আরুকো মার্কারগুলির একটি গ্রিড। দৃশ্য 6 -এ পরীক্ষাগুলি প্রান্তিককরণের জন্য সংবেদনশীল হতে পারে, সুতরাং 15 থেকে শুরু করে আপনি ডিইটি এবং চার্ট সারিবদ্ধকরণের একটি চেক সক্ষম করতে সরঞ্জাম ডিরেক্টরিতে check_alignment.py
ব্যবহার করতে পারেন।
দৃশ্য 6
Test_in_sensor_zoom
সেন্সর জুম বৈশিষ্ট্যের ক্যামেরাটির আচরণ পরীক্ষা করে, যা ক্রপযুক্ত কাঁচা চিত্র তৈরি করে।
স্ট্রিম ব্যবহারের কেসটি CROPPED_RAW
সেট করার সাথে সাথে পরীক্ষাটি জুম রেঞ্জের উপরে দুটি ক্যাপচার নেয়, একটি পূর্ণ ক্ষেত্রের দৃশ্য (এফওভি) কাঁচা চিত্র এবং একটি ক্রপযুক্ত কাঁচা চিত্র। পরীক্ষাটি চিত্রগুলি আরজিবি অ্যারেগুলিতে রূপান্তর করে, পূর্ণ আকারের ক্রপযুক্ত কাঁচা চিত্রটিকে SCALER_RAW_CROP_REGION
দ্বারা রিপোর্ট করা আকারে ডাউনস্কেল করে এবং দুটি চিত্রের মধ্যে 3 ডি রুট গড় স্কোয়ার (আরএমএস) পার্থক্য গণনা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
পাস: 3 ডি রুট গড় স্কোয়ার (আরএমএস) এর মধ্যে ডাউনস্কেলযুক্ত ক্রপযুক্ত কাঁচা চিত্র এবং সম্পূর্ণ এফওভি কাঁচা চিত্রের মধ্যে পার্থক্য পরীক্ষায় প্রান্তিকের চেয়ে কম।
টেস্ট_জুম
আল্ট্রাওয়াইড লেন্স থেকে প্রশস্ত লেন্সে ক্যামেরা জুম আচরণ পরীক্ষা করে। জুম রেঞ্জের উপর ক্যাপচারগুলি গ্রহণ করে এবং ক্যামেরার জুম হওয়ার সাথে সাথে আরুকো চিহ্নিতকারীরা আরও বড় হয়ে যায় কিনা তা পরীক্ষা করে The পরীক্ষাটি প্রতিটি ক্যাপচারের চেয়ে অনুমানযোগ্যভাবে পরিবর্তিত হয় কিনা তা পরীক্ষা করেও পরীক্ষা করে। কেন্দ্রের চিহ্নিতকারী কেন্দ্র থেকে চিত্র কেন্দ্রের দূরত্বটি কোনও শারীরিক ক্যামেরা স্যুইচ না হওয়া পর্যন্ত জুম অনুপাতের সাথে সম্মতভাবে একটি ধ্রুবক হারে পরিবর্তন করতে পারে, বা এটি শারীরিক ক্যামেরা স্যুইচের পরে একই চিহ্নিতকারীটির অবস্থানের দিকে একঘেয়েভাবে পরিবর্তন করতে পারে। পরীক্ষার আগে জেটপ্যাক ক্যামেরা অ্যাপ ( জেসিএ ) ডিভাইসে অবশ্যই ইনস্টল করা উচিত।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
পাস: ক্যাপচার করা আরুকো মার্কার আপেক্ষিক আকার ক্যামেরাটি সঠিকভাবে জুম করছে তা নিশ্চিত করার জন্য অনুরোধ করা জুম অনুপাতের বিরুদ্ধে সঠিক, এবং পরীক্ষার বিবরণে বর্ণিত মানদণ্ড অনুসারে চিত্র কেন্দ্রের পরিবর্তনের জন্য চিহ্নিতকারী দূরত্ব।
কেন্দ্রের নিকটতম আরুকো চিহ্নিতকারীটির কনট্যুরটি খুঁজে পেতে টেস্ট_জুম।
Test_low_lateancy_zoom
ক্যামেরা কম বিলম্বিত জুম আচরণ পরীক্ষা করে। android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
এর সাথে জুম রেঞ্জের উপর ক্যাপচারগুলি গ্রহণ করে এবং আউটপুট চিত্রগুলিতে চিহ্নিতকারীরা ক্যাপচার মেটাডেটাতে জুম অনুপাতের সাথে মেলে কিনা তা পরীক্ষা করে। একই ক্যামেরা ক্যাপচার সেশনটি 3 এ রূপান্তর করতে এবং ক্যাপচার নিতে ব্যবহৃত হয়।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
পাস: জুম অনুপাতের ফলাফলের মেটাডেটার বিরুদ্ধে ক্যাপচারযুক্ত চিহ্নিতকারীটির আপেক্ষিক আকার সঠিক।
test_preview_video_zoom_match
রেকর্ডিং এবং জুম করার সময়, ভিডিও পূর্বরূপ এবং ভিডিও আউটপুট প্রদর্শন এবং একই আউটপুট রেকর্ড করার সময় পরীক্ষা করে। বিভিন্ন জুম অনুপাতের কেন্দ্রের নিকটতম চিহ্নিতকারীটির আকার গণনা করে এবং জুম অনুপাত বাড়ার সাথে সাথে চিহ্নিতকারীটির আকার বৃদ্ধি পায় কিনা তা যাচাই করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
পাস: ক্যাপচারযুক্ত চিহ্নিতকারীগুলির আপেক্ষিক আকার ভিডিও এবং পূর্বরূপে অনুরোধ করা জুম অনুপাতের বিরুদ্ধে সঠিক।
HD_1280x720_KEY_FRAME.PNG (জুমের আগে)
পূর্বরূপ_1280x720_key_frame.png (জুমের আগে)
HD_1280x720_KEY_FRAME.PNG (জুমের পরে)
পূর্বরূপ_1280x720_key_frame.png (জুমের পরে)
পরীক্ষা_প্রিভিউ_জুম
পরীক্ষাগুলি যে প্রতিটি পূর্বরূপ ফ্রেমের জুম অনুপাতটি আল্ট্রাওয়াইড লেন্স থেকে প্রশস্ত লেন্সে সংশ্লিষ্ট ক্যাপচার মেটাডেটার সাথে মেলে। পরীক্ষাটি জুম রেঞ্জের উপরে পূর্বরূপ ফ্রেম নেয় এবং কেন্দ্রের নিকটতম আরুকো চিহ্নিতকারীকে খুঁজে পায়। পরীক্ষাটি তারপরে প্রতিটি ক্যাপচারের উপরে কেন্দ্রের চিহ্নিতকারীটির অবস্থানটি পূর্বাভাসযোগ্যভাবে পরিবর্তিত হয় কিনা তা পরীক্ষা করে। কেন্দ্রের চিহ্নিতকারী কেন্দ্র থেকে চিত্র কেন্দ্রের দূরত্বটি কোনও শারীরিক ক্যামেরা স্যুইচ না হওয়া পর্যন্ত জুম অনুপাতের সাথে সম্মতভাবে একটি ধ্রুবক হারে পরিবর্তন করতে পারে, বা এটি শারীরিক ক্যামেরা স্যুইচের পরে একই চিহ্নিতকারীটির অবস্থানের দিকে একঘেয়েভাবে পরিবর্তন করতে পারে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
পাস: নির্বাচিত আরুকো চিহ্নিতকারীটির আপেক্ষিক আকারটি সমস্ত প্রাকদর্শন ফ্রেমের জন্য সংশ্লিষ্ট ক্যাপচার ফলাফলের রিপোর্ট করা জুম অনুপাতের জন্য সঠিক। চিত্রের কেন্দ্র থেকে নির্বাচিত চিহ্নিতকারীটির আপেক্ষিক দূরত্বটি সমস্ত পূর্বরূপ ফ্রেমের সংশ্লিষ্ট ক্যাপচার ফলাফলের রিপোর্ট করা জুম অনুপাতের জন্য সঠিক।
Test_preview_zoom চিত্রগুলি কেন্দ্রের নিকটতম নির্বাচিত মার্কার দেখায়
পরীক্ষা_সেশন_বৈশিষ্ট্য_জুম
CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
তালিকাভুক্ত সমস্ত সমর্থিত সেশন কনফিগারেশনের জন্য জুম অনুপাতের পরিসীমা পরীক্ষা করে। এই কনফিগারেশনের প্রত্যেকটির জন্য, যদি CameraDeviceSetup#isSessionConfigurationSupported
রিটার্ন সত্য হয়, তবে পরীক্ষাটি যাচাই করে যে জুম অনুপাতের পরিসীমাটি CameraDeviceSetup#getSessionCharacteristics
ফিরে এসেছে
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
-
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
-
android.hardware.camera2.CameraDevice.CameraDeviceSetup#getSessionCharacteristics
পাস: সর্বনিম্ন এবং সর্বাধিক জুম অনুপাত উভয়ই CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
তালিকাভুক্ত প্রতিটি সমর্থিত SessionConfiguration
জন্য পৌঁছানো যেতে পারে।
দৃশ্য7
দৃশ্য 7 হ'ল একটি আয়তক্ষেত্রাকার ফ্রেম যা চারটি সমান কোয়াড্রেন্টে বিভক্ত, প্রতিটি আলাদা রঙে ভরা। আয়তক্ষেত্রের কেন্দ্রে তীক্ষ্ণতা চেকগুলির জন্য একটি স্লেন্টড এজ চার্ট রয়েছে। চারটি আরুকো চিহ্নিতকারী বিভিন্ন জুম অনুপাতের মূল আয়তক্ষেত্র ফ্রেমের সঠিক স্থানাঙ্ক অর্জনে সহায়তা করার জন্য আয়তক্ষেত্রের চারটি বাইরের কোণার সাথে একত্রিত হয়।
দৃশ্য7
পরীক্ষা_মাল্টি_ক্যামেরা_সুইচ
এই পরীক্ষাটি যাচাই করে যে বিভিন্ন জুম অনুপাতের পূর্বরূপ রেকর্ডিংয়ের সময়, আল্ট্রোডাইড (ইউডাব্লু) এবং ওয়াইড (ডাব্লু) লেন্সগুলির মধ্যে স্যুইচটি একই রকম আরজিবি মানগুলির ফলাফল করে।
পরীক্ষাটি গতিশীল পূর্বরূপ রেকর্ডিং সম্পাদন করতে এবং শারীরিক ক্যামেরাটি যে বিন্দুতে পরিবর্তিত হয় তা সনাক্ত করতে পূর্বনির্ধারিত পরিসরের মধ্যে বিভিন্ন জুম অনুপাত ব্যবহার করে। এই পয়েন্টটি ইউডাব্লু থেকে ডাব্লু লেন্স পর্যন্ত ক্রসওভার চিহ্নিত করে।
ক্রসওভার পয়েন্টে এবং তার আগে ক্যাপচার করা ফ্রেমগুলি অটো এক্সপোজার (এই), অটো হোয়াইট ব্যালেন্স (এডাব্লুবি) এবং অটোফোকাস (এএফ) এর জন্য বিশ্লেষণ করা হয়।
এই চেকটি নিশ্চিত করে যে লুমা পরিবর্তন ইউডাব্লু এবং ডাব্লু লেন্স উভয়ের চিত্রের জন্য প্রত্যাশিত সীমার মধ্যে রয়েছে। এডাব্লুবি চেকটি যাচাই করে যে আর/জি এবং বি/জি এর অনুপাতগুলি ইউডাব্লু এবং ডাব্লু লেন্স উভয়ের চিত্রের জন্য প্রান্তিক মানের মধ্যে রয়েছে। এএফ চেকটি ইউডাব্লু এবং ডাব্লু লেন্স চিত্রগুলির মধ্যে গড় গ্রেডিয়েন্ট প্রস্থের উপর ভিত্তি করে তীক্ষ্ণতা অনুমানের মানটি মূল্যায়ন করে।
এই পরীক্ষাটি সম্পাদন করার সময় যদি এমওআর এফেক্টটি ফলাফলগুলিতে হস্তক্ষেপ করে তবে ক্যামেরার তালিকা থেকে তার অনুমোদিত ট্যাবলেটগুলির তালিকা থেকে একটি উচ্চতর রেজোলিউশন ট্যাবলেট ব্যবহার করুন।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
পাস: পরীক্ষাটি পাস করার জন্য, এই এবং এডাব্লুবি চেকগুলি অবশ্যই পাস করতে হবে। এএফ চেক ফলাফলগুলি কেবল লগিংয়ের উদ্দেশ্যে ব্যবহৃত হয়। নিম্নলিখিত প্রতিটি চেকের মানদণ্ড:
- এই চেক: ইউডাব্লু এবং ডাব্লু লেন্সের চিত্রগুলির মধ্যে লুমা পরিবর্তন (ওয়াই মান) সমস্ত রঙের প্যাচগুলির জন্য অবশ্যই 4% এর চেয়ে কম হওয়া উচিত যদি ডিভাইসটি
ae_regions
এবংawb_regions
উভয়ই সমর্থন করে। যদি কেবলae_regions
সমর্থিত হয় তবে কেবল ধূসর রঙের প্যাচ মানগুলি অবশ্যই মানদণ্ডগুলি পূরণ করতে হবে। - এডাব্লুবি চেক: ইউডাব্লু এবং ডাব্লু লেন্সের চিত্রগুলির জন্য আর/জি এবং বি/জি মানগুলির মধ্যে পার্থক্য ধূসর রঙের প্যাচের জন্য অবশ্যই 3% এর চেয়ে কম হওয়া উচিত এবং যদি ডিভাইসটি
ae_regions
এবংawb_regions
উভয়ই সমর্থন করে তবে অন্যান্য রঙ প্যাচগুলির জন্য 10% এরও কম হতে হবে। - এএফ চেক: ডাব্লু লেন্স ক্যাপচারের জন্য চিত্রের তীক্ষ্ণতা ইউডাব্লু ক্যাপচারের সাথে তীক্ষ্ণতার চেয়ে বেশি হওয়া উচিত।
ইউডাব্লু লেন্সের সাথে নেওয়া ধূসর প্যাচ
ধূসর প্যাচ ডাব্লু লেন্স দিয়ে নেওয়া
দৃশ্য8
দৃশ্য 8 হ'ল একটি আয়তক্ষেত্রাকার ফ্রেম যা চারটি সমান অঞ্চলে বিভক্ত, প্রত্যেকটিতে আলাদা আলাদা এক্সপোজারযুক্ত প্রতিকৃতিযুক্ত বা আলাদা রঙের ছায়া (নীল ছায়া, বর্ধিত এক্সপোজার, এক্সপোজার হ্রাস, হলুদ ছায়া) দিয়ে আবৃত থাকে। চারটি আরুকো চিহ্নিতকারীকে মূল আয়তক্ষেত্র ফ্রেমের সঠিক স্থানাঙ্কগুলি পেতে আয়তক্ষেত্রের চারটি বাইরের কোণার সাথে একত্রিত হয়।
দৃশ্য8
পরীক্ষা_ae_awb_অঞ্চল
বিভিন্ন অটো এক্সপোজার (এই) এবং অটো হোয়াইট ব্যালেন্স (এডাব্লুবি) অঞ্চলে রেকর্ডিং করার সময় আরজিবি এবং লুমা মানগুলি পৃথক হয় এমন পরীক্ষাগুলি।
পরীক্ষায় একটি আট সেকেন্ড পূর্বরূপ রেকর্ডিং রেকর্ড করা হয়েছে, প্রতিটি চতুর্ভুজটিতে প্রতিটি চতুর্থাংশের জন্য এই এবং এডাব্লুবি মিটারিং সম্পাদন করে। পরীক্ষাটি তারপরে প্রতিটি অঞ্চলের পূর্বরূপ রেকর্ডিং থেকে একটি ফ্রেম বের করে এবং নিম্নলিখিত এই এবং এডাব্লুবি চেকগুলি সম্পাদন করতে নিষ্কাশিত ফ্রেমগুলি ব্যবহার করে:
- এই চেক: যাচাই করে যে হ্রাস এক্সপোজারের সাথে অঞ্চলটি মিটারিং ফ্রেমের বর্ধিত এক্সপোজারের সাথে অঞ্চলটি মিটারিং ফ্রেমের চেয়ে 1% এরও বেশি লুমা মান রয়েছে। এটি যাচাই করে যে কোনও অন্ধকার অঞ্চলকে মিটার করার সময় চিত্রগুলি আলোকিত করা হয়।
- এডাব্লুবি চেক: যাচাই করে যে নীল মিটারিং অঞ্চলের সাথে ফ্রেমে লাল থেকে নীল (চিত্রের গড় আরজিবি মানগুলির) অনুপাতটি হলুদ মিটারিং অঞ্চলের সাথে ফ্রেমের চেয়ে 2% এর বেশি। এটি যাচাই করে যে কোনও হলুদ (উষ্ণ) বা নীল (শীতল) অঞ্চলটি মিটার করার সময় চিত্রগুলির একটি সুষম আরজিবি মান রয়েছে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
-
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AE
-
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
পাস: এই এবং এডাব্লুবি উভয়ই পাস চেক করে।
বর্ধিত এক্সপোজার সহ অন্ধকার অঞ্চল ফ্রেম মিটারিং
এক্সপোজার হ্রাস সহ ফ্রেম মিটারিং হালকা অঞ্চল
ব্যর্থ প্রক্রিয়া:
এই পরীক্ষার জন্য চারটি আরুকো মার্কারগুলির সঠিক সনাক্তকরণ প্রয়োজনীয়। যদি প্রাথমিক সনাক্তকরণ ব্যর্থ হয় তবে সিস্টেমটি চিত্রের একটি কালো এবং সাদা সংস্করণ ব্যবহার করে দ্বিতীয় সনাক্তকরণ পাস চেষ্টা করে। নিম্নলিখিত গ্রেস্কেল চিত্রটি মাধ্যমিক প্রক্রিয়াকরণ পদক্ষেপের প্রতিনিধিত্ব করে।
test_color_correction_mode_cct
বিভিন্ন রঙের তাপমাত্রা এবং টিন্টগুলি জুড়ে COLOR_CORRECTION_MODE
পরীক্ষা করে, ক্যাপচারের দৃশ্যের বিপরীতে আরজিবি অনুপাতের পরিবর্তনগুলি যাচাই করে, দৃশ্য 8 ।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureResult#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_COLOR_TEMPERATURE
-
android.hardware.camera2.CaptureResult#COLOR_CORRECTION_COLOR_TEMPERATURE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_COLOR_TINT
-
android.hardware.camera2.CaptureResult#COLOR_CORRECTION_COLOR_TINT
-
android.hardware.camera2.CameraCharacteristics#COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE
-
android.hardware.camera2.CameraMetadata#COLOR_CORRECTION_MODE_CCT
-
android.hardware.camera2.CameraCharacteristics#COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES
পাস: আরজিবি অনুপাতগুলি নির্বাচিত রঙের তাপমাত্রা এবং টিন্টের তুলনায় প্রত্যাশিত বৃদ্ধি বা হ্রাস প্রদর্শন করে।
পরীক্ষা স্কিপ মানদণ্ড
test_color_correction_mode_cct
পরীক্ষা এড়িয়ে গেলে নিম্নলিখিত মানদণ্ডগুলির কোনওটি পূরণ করা হয়:
- ডিভাইসের 35 বা তার চেয়ে কম প্রথম এপিআই স্তর (
first_api_level
) রয়েছে। - ডিভাইসটি
COLOR_CORRECTION_MODE_CCT
রঙিন_অরেকশন_এভেলেবল_বাইরেশন_মোডগুলিতে বিজ্ঞাপন দেয় না।
দৃশ্য9
দৃশ্য 9 জেপিগ সংক্ষেপণ অ্যালগরিদমগুলিকে চাপ দেওয়ার জন্য খুব কম পুনরাবৃত্তি সহ একটি দৃশ্য তৈরি করতে হাজার হাজার এলোমেলো আকারের এবং রঙিন চেনাশোনা নিয়ে গঠিত।
দৃশ্য9
test_jpeg_high_entropy
পরীক্ষা করে যে ক্যামেরা জেপিইজি সংক্ষেপণ দৃশ্য 9 এ উচ্চ এনট্রপি এবং জেপিজি কোয়ালিটি ফ্যাক্টরটি 100%এ সেট করে কাজ করে। ট্যাবলেটে প্রদর্শিত দৃশ্যটি ক্যামেরার ক্ষেত্রটি ভিউয়ের ক্ষেত্রটি পূরণ করে তা নিশ্চিত করার জন্য জুম ফ্যাক্টরটি বাড়ানো হয়েছে।
এপিআইএস পরীক্ষিত:
পাস: জেপিইজি ফাইলটি সঠিকভাবে সংকুচিত, লিখিত এবং ডিস্ক থেকে ফিরে পড়ুন।
পরীক্ষা_জেপিইজি_কুয়ালি
ক্যামেরা জেপিইজি সংক্ষেপণের গুণমান পরীক্ষা করে। android.jpeg.quality
এবং কোয়ান্টাইজেশন টেবিলগুলি সঠিকভাবে পরিবর্তন নিশ্চিত করে JPEG গুণাবলী পদক্ষেপ।
এপিআইএস পরীক্ষিত:
পাস: কোয়ান্টাইজেশন ম্যাট্রিক্স মান বৃদ্ধির সাথে হ্রাস পায়। (ম্যাট্রিক্স বিভাগ ফ্যাক্টরকে উপস্থাপন করে))
পিক্সেল 4 রিয়ার ক্যামেরা লুমা/ক্রোমা ডিকিউটি ম্যাট্রিক্স গড় বনাম জেপিইজি মানের
ব্যর্থ পরীক্ষার উদাহরণ
নোট করুন যে খুব নিম্নমানের চিত্রগুলির জন্য (jpeg.quality <50), কোয়ান্টাইজেশন ম্যাট্রিক্সে সংকোচনের কোনও বৃদ্ধি নেই।
দৃশ্য_ভিডিও
scene_video
দৃশ্যটি একটি ভিডিও দৃশ্য। এটি একটি সাদা পটভূমির বিপরীতে বিভিন্ন ফ্রেম হারে পিছনে পিছনে চলমান চারটি বিভিন্ন রঙিন চেনাশোনা নিয়ে গঠিত।
দৃশ্য_ভিডিও
পরীক্ষা_প্রিভিউ_ফ্রেম_ড্রপ
অনুরোধ করা পূর্বরূপ ফ্রেম রেট একটি গতিশীল দৃশ্যের সাথে বজায় রাখা হয় এমন পরীক্ষাগুলি। এই পরীক্ষাটি তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলির সংস্পর্শে থাকা সমস্ত ক্যামেরায় চলে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
পাস: পূর্বরূপ ফ্রেমের হারটি অনুরোধ করা ফ্রেম রেট সীমার সর্বোচ্চে থাকে এবং টানা ফ্রেমের মধ্যে গড় প্রকরণ পরীক্ষায় আপেক্ষিক সহনশীলতার চেয়ে কম থাকে।
দৃশ্য_ এক্সটেনশনস
scene_extensions
পরীক্ষাগুলি ক্যামেরা এক্সটেনশনের জন্য এবং অবশ্যই ক্যামেরার ইন-এ-বক্স ব্যবহার করতে হবে, কারণ তাদের পরীক্ষার পরিবেশের সুনির্দিষ্ট নিয়ন্ত্রণ প্রয়োজন। অতিরিক্তভাবে, সমস্ত হালকা ফুটো অবশ্যই নিয়ন্ত্রণ করতে হবে। এর জন্য একটি ড্রপ কাপড়ের সাথে পরীক্ষার রগ, ডিইটি এবং ট্যাবলেটটি covering েকে রাখার পাশাপাশি ডিইটি -র সামনের পর্দা থেকে হালকা ফুটো দূর করার প্রয়োজন হতে পারে।
দৃশ্য_এইচডিআর
scene_hdr
দৃশ্যে বামদিকে একটি প্রতিকৃতি এবং ডানদিকে একটি কম-বিপরীতে কিউআর কোড রয়েছে।
দৃশ্য_এইচডিআর
পরীক্ষা_এইচডিআর_ এক্সটেনশন
এইচডিআর এক্সটেনশন পরীক্ষা করে। এক্সটেনশনের সাথে এবং ছাড়াই ক্যাপচারগুলি গ্রহণ করে এবং এক্সটেনশনটি কিউআর কোডটিকে আরও সনাক্তযোগ্য করে তোলে কিনা তা পরীক্ষা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
-
android.hardware.camera2.CameraExtensionSession#capture
পাস: এইচডিআর এক্সটেনশন কিউআর কোড সনাক্ত করতে প্রয়োজনীয় বিপরীতে পরিবর্তনের সংখ্যা হ্রাস করে বা কিউআর কোড জুড়ে গ্রেডিয়েন্ট হ্রাস করে।
দৃশ্য_লো_আলো
scene_low_light
দৃশ্যে একটি কালো পটভূমির বিপরীতে ধূসর রঙের বিভিন্ন শেডের স্কোয়ারগুলির একটি গ্রিড রয়েছে এবং স্কোয়ারগুলির গ্রিড একটি লাল রূপরেখার দ্বারা আবদ্ধ। স্কোয়ারগুলি হিলবার্ট কার্ভ ওরিয়েন্টেশনে সাজানো হয়।
দৃশ্য_লো_আলো
পরীক্ষা_নাইট_এক্সটেনশন
রাতের এক্সটেনশন পরীক্ষা করে। এক্সটেনশন সক্ষম করে ক্যাপচার গ্রহণ করে এবং নিম্নলিখিতগুলি সম্পাদন করে:
- 20 স্কোয়ারের উপস্থিতি সনাক্ত করে
- প্রতিটি বর্গক্ষেত্র দ্বারা আবদ্ধ লুমাকে গণনা করে
- হিলবার্ট কার্ভ গ্রিড ওরিয়েন্টেশন অনুসারে প্রথম 6 স্কোয়ারের গড় লুমা মান গণনা করে
- ধারাবাহিক স্কোয়ারগুলির লুমা মানের পার্থক্য গণনা করে (উদাহরণস্বরূপ, স্কয়ার 2 - স্কয়ার 1) স্কোয়ার 5 এবং 6 পর্যন্ত (স্কয়ার 6 - স্কয়ার 5) পর্যন্ত এবং পাঁচটি গণিত পার্থক্যের গড় সন্ধান করে।
অ্যান্ড্রয়েড 16 বা তার বেশি চলমান ডিভাইসগুলির জন্য, ক্যাপচার অনুরোধে স্কোয়ারগুলির গ্রিডকে সীমাবদ্ধ আয়তক্ষেত্রের সাথে সম্পর্কিত একটি মিটার অঞ্চল অন্তর্ভুক্ত রয়েছে। এই সংযোজন প্রান্তিক পাসের মানদণ্ড পরিবর্তন করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
-
android.hardware.camera2.CameraExtensionSession#capture
পাস:
- অ্যান্ড্রয়েড 16 বা তার বেশি চলমান ডিভাইসগুলির জন্য, প্রথম 6 স্কোয়ারের গড় লুমা মানটি কমপক্ষে 80 হতে হবে এবং 5 এবং 6 পর্যন্ত স্কোয়ার পর্যন্ত একটানা স্কোয়ারের লুমা মানের গড় পার্থক্য কমপক্ষে 18.75 হতে হবে।
- 15 এবং নিম্নমানের ডিভাইসগুলির জন্য, প্রথম 6 স্কোয়ারের গড় লুমা মানটি কমপক্ষে 85 হতে হবে এবং 5 এবং 6 স্কোয়ার পর্যন্ত টানা স্কোয়ারের লুমা মানের গড় পার্থক্য অবশ্যই কমপক্ষে 17 হতে হবে।
নিম্নলিখিত লুমিন্যান্স প্লটটি দেখায় যে উত্তীর্ণ পরীক্ষার ফলাফলটি কেমন দেখাচ্ছে।
test_low_light_boost_extension
লো লাইট বুস্ট এই মোড পরীক্ষা করে। যদি ক্যামেরা 2 কম হালকা বুস্ট এই মোড সমর্থন করে, তবে এই পরীক্ষাটি ক্যামেরা 2 এর জন্য সঞ্চালিত হয়। যদি নাইট মোড ক্যামেরা এক্সটেনশনটি সমর্থন করা হয় এবং এক্সটেনশনটি কম লাইট বুস্ট এই মোডকে সমর্থন করে, তবে এই পরীক্ষাটি নাইট মোড ক্যামেরা এক্সটেনশনের জন্যও সঞ্চালিত হয়। এই পরীক্ষাটি এই মোডটিকে কম হালকা বুস্টে সেট করে, পূর্বরূপ থেকে একটি ফ্রেম নেয় এবং নিম্নলিখিতগুলি সম্পাদন করে:
- 20 বাক্সের উপস্থিতি সনাক্ত করে
- প্রতিটি বাক্স দ্বারা আবদ্ধ লুমাকে গণনা করে
- হিলবার্ট কার্ভ গ্রিড ওরিয়েন্টেশন অনুসারে প্রথম 6 স্কোয়ারের গড় লুমা মান গণনা করে
- ধারাবাহিক স্কোয়ারগুলির লুমা মানের পার্থক্য গণনা করে (উদাহরণস্বরূপ, স্কয়ার 2 - স্কয়ার 1) স্কোয়ার 5 এবং 6 পর্যন্ত (স্কয়ার 6 - স্কয়ার 5) পর্যন্ত এবং পাঁচটি গণিত পার্থক্যের গড় সন্ধান করে।
অ্যান্ড্রয়েড 16 বা তার বেশি চলমান ডিভাইসগুলির জন্য, ক্যাপচার অনুরোধে স্কোয়ারগুলির গ্রিডকে সীমাবদ্ধ আয়তক্ষেত্রের সাথে সম্পর্কিত একটি মিটার অঞ্চল অন্তর্ভুক্ত রয়েছে। এই সংযোজন প্রান্তিক পাসের মানদণ্ড পরিবর্তন করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES
-
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY
-
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
পাস:
অ্যান্ড্রয়েড 16 বা তার বেশি চলমান ডিভাইসগুলির জন্য, প্রথম 6 স্কোয়ারের গড় লুমা মানটি কমপক্ষে 54 হতে হবে এবং 5 এবং 6 স্কোয়ার পর্যন্ত একটানা স্কোয়ারের লুমা মানের গড় পার্থক্য অবশ্যই কমপক্ষে 17 হতে হবে।
15 এবং নিম্নমানের ডিভাইসগুলির জন্য, প্রথম 6 স্কোয়ারের গড় লুমা মান কমপক্ষে 70 হতে হবে এবং 5 এবং 6 স্কোয়ার পর্যন্ত টানা স্কোয়ারের লুমা মানের গড় পার্থক্য কমপক্ষে 18 হতে হবে।
দৃশ্য_ল
scene_tele
পরীক্ষাগুলির জন্য একটি মূল প্রয়োজনীয়তা হ'ল চার্টের দূরত্বটি কমপক্ষে টেলিফোটো লেন্সের ন্যূনতম ফোকাস দূরত্ব হতে হবে। যেহেতু এই ন্যূনতম ফোকাসের দূরত্ব ডিভাইসের মধ্যে পৃথক হতে পারে, আপনাকে অবশ্যই নির্দিষ্ট টেলিফোটো ক্যামেরায় উপযুক্ত করতে আপনার সেটআপটি কনফিগার করতে হবে।
টেস্ট হার্ডওয়্যার সেটআপ সম্পর্কিত আরও তথ্যের জন্য, টেলি এক্সটেনশন রিগ সেটআপ দেখুন।
দৃশ্য 6_ টেল
scene6_tele
দৃশ্যে একটি সাদা পটভূমিতে আরুকো মার্কারগুলির একটি গ্রিড রয়েছে।
যদি scene6_tele
ক্যাপচারগুলি মডুলার রিগের মধ্যে ওভারএক্সপোজড দেখায় তবে মডুলার রিগের সামনের প্লেটটি সরান।
এক্সটেনশন থেকে ডাব্লুএফওভি পরীক্ষার রগটি সংযোগ বিচ্ছিন্ন করুন এবং ফোন মাউন্টটি সরান।
সামনের প্লেটটি সরান।
টেস্ট_জুম_টেল
প্রশস্ত লেন্স থেকে টেলিফোটো লেন্সে ক্যামেরা জুম আচরণ পরীক্ষা করে। পরীক্ষাটি টেস্ট_ জুমের মতো, তবে প্রশস্ত লেন্স থেকে টেলিফোটো লেন্সে ক্যামেরা জুম আচরণ পরীক্ষা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
পাস: ক্যাপচার করা আরুকো মার্কার আপেক্ষিক আকার ক্যামেরাটি সঠিকভাবে জুম করছে তা নিশ্চিত করার জন্য অনুরোধ করা জুম অনুপাতের বিরুদ্ধে সঠিক, এবং টেস্ট_জুমে তালিকাভুক্ত মানদণ্ড অনুসারে চিত্র কেন্দ্রের পরিবর্তিত হতে পারে।
test_preview_zoom_tele
প্রশস্ত লেন্স থেকে টেলিফোটো লেন্স পর্যন্ত পূর্বরূপ ফ্রেমের জন্য ক্যামেরা জুম আচরণ পরীক্ষা করে। পরীক্ষাটি টেস্ট_প্রিভিউ_জুমের মতো, তবে প্রশস্ত লেন্স থেকে টেলিফোটো লেন্স পর্যন্ত পূর্বরূপ ফ্রেমের জন্য ক্যামেরা জুম আচরণ পরীক্ষা করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
পাস: ক্যাপচার করা আরুকো মার্কার আপেক্ষিক আকার ক্যামেরাটি সঠিকভাবে জুম করছে তা নিশ্চিত করার জন্য অনুরোধ করা জুম অনুপাতের বিরুদ্ধে সঠিক, এবং পরীক্ষার_প্রিভিউ_জুমে তালিকাভুক্ত মানদণ্ড অনুসারে চিত্র কেন্দ্রের পরিবর্তিত হতে পারে।
দৃশ্য 7_ টেল
দৃশ্য 7_tele দৃশ্য 7 এর অনুরূপ, তবে টেলিফোটো লেন্স পরীক্ষার জন্য সেট আপ করুন। এটি একটি আয়তক্ষেত্রাকার ফ্রেম চারটি সমান কোয়াড্রেন্টে বিভক্ত, প্রতিটি প্রতিটি আলাদা রঙে ভরা। আয়তক্ষেত্রের কেন্দ্রে তীক্ষ্ণতা চেকগুলির জন্য একটি স্লেন্টড এজ চার্ট রয়েছে। চারটি আরুকো চিহ্নিতকারী বিভিন্ন জুম অনুপাতের মূল আয়তক্ষেত্র ফ্রেমের সঠিক স্থানাঙ্ক অর্জনে সহায়তা করার জন্য আয়তক্ষেত্রের চারটি বাইরের কোণার সাথে একত্রিত হয়।
টেস্ট_মুল্টি_কামেরা_সুইচ_টেল
এই পরীক্ষাটি যাচাই করে যে বিভিন্ন জুম অনুপাতের পূর্বরূপ রেকর্ডিংয়ের সময়, ওয়াইড (ডাব্লু) এবং টেলিফোটো (টেলি) লেন্সগুলির মধ্যে স্যুইচটি একই রকম আরজিবি মানগুলির ফলস্বরূপ।
পরীক্ষাটি গতিশীল পূর্বরূপ রেকর্ডিং সম্পাদন করতে এবং শারীরিক ক্যামেরাটি যে বিন্দুতে পরিবর্তিত হয় তা সনাক্ত করতে পূর্বনির্ধারিত পরিসরের মধ্যে বিভিন্ন জুম অনুপাত ব্যবহার করে। এই পয়েন্টটি ডাব্লু থেকে টেলি লেন্স পর্যন্ত ক্রসওভার চিহ্নিত করে।
ক্রসওভার পয়েন্টে এবং তার আগে ক্যাপচার করা ফ্রেমগুলি অটো এক্সপোজার (এই), অটো হোয়াইট ব্যালেন্স (এডাব্লুবি) এবং অটোফোকাস (এএফ) এর জন্য বিশ্লেষণ করা হয়।
এই চেকটি নিশ্চিত করে যে লুমা পরিবর্তন ডাব্লু এবং টেলি লেন্স উভয়ের চিত্রের জন্য প্রত্যাশিত সীমার মধ্যে রয়েছে। এডাব্লুবি চেকটি যাচাই করে যে আর/জি এবং বি/জি এর অনুপাতগুলি ডাব্লু এবং টেলি লেন্স উভয়ের চিত্রের জন্য প্রান্তিক মানের মধ্যে রয়েছে। এএফ চেক ডাব্লু এবং টেলি লেন্সের চিত্রগুলির মধ্যে গড় গ্রেডিয়েন্ট প্রস্থের উপর ভিত্তি করে তীক্ষ্ণতা অনুমানের মানটি মূল্যায়ন করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
পাস: পরীক্ষাটি পাস করার জন্য, এই, এডাব্লুবি এবং এএফ চেকগুলি অবশ্যই সমস্ত পাস করতে হবে। নিম্নলিখিত প্রতিটি চেকের মানদণ্ড:
- এই চেক: ডাব্লু এবং টেলি লেন্সের চিত্রগুলির মধ্যে লুমা পরিবর্তন 4%এরও কম হতে হবে।
- এডাব্লুবি চেক: ল্যাব রঙের জায়গাতে, প্রশস্ত এবং টেলিফোটোর জন্য আর/জি এবং বি/জি এর মধ্যে ডেল্টা সি 10 এর বেশি হতে পারে না।
- এএফ চেক: টেলি লেন্সের চিত্রের তীক্ষ্ণতা অবশ্যই ডাব্লু লেন্সের চেয়ে বেশি হতে হবে।
দৃশ্য_ফ্ল্যাশ
scene_flash
পরীক্ষাগুলির জন্য সেন্সর ফিউশন বাক্সে একটি অন্ধকার দৃশ্যের প্রয়োজন।
পরীক্ষা_স্বয়ংক্রিয়_ফ্ল্যাশ
পরীক্ষাগুলি যে অটো-ফ্ল্যাশগুলি রিয়ার-ফেসিং এবং ফ্রন্ট-ফেসিং ক্যামেরাগুলির জন্য একটি অন্ধকার দৃশ্যে ট্রিগার করা হয়। সামনের মুখোমুখি ক্যামেরাগুলির জন্য, অটো-ফ্ল্যাশ কোনও শারীরিক ফ্ল্যাশ ইউনিট নয়, দৃশ্যটি আলোকিত করতে স্ক্রিনটি ব্যবহার করে। পরীক্ষাটি যাচাই করে যে টাইল চিত্রের কেন্দ্রটি অটো-ফ্ল্যাশ সক্ষম করে আরও উজ্জ্বল কিনা তা পরীক্ষা করে অটো-ফ্ল্যাশকে বরখাস্ত করা হয়েছে। অটো-ফ্ল্যাশ ট্রিগার করতে, পরীক্ষার রগের আলোগুলি বন্ধ করতে হবে। লাইটগুলি আরডুইনো নিয়ামক দিয়ে স্বয়ংক্রিয়ভাবে বন্ধ করা যায়। পরীক্ষাটি সঠিকভাবে কাজ করার জন্য দৃশ্যটি অবশ্যই সম্পূর্ণ অন্ধকার হতে হবে। পরীক্ষার আগে জেটপ্যাক ক্যামেরা অ্যাপ ( জেসিএ ) ডিভাইসে অবশ্যই ইনস্টল করা উচিত। রিয়ার-ফেসিং ক্যামেরাগুলির জন্য অটো-ফ্ল্যাশ ট্রিগার হওয়ার জন্য এই রাজ্যের উপর নির্ভর করে, তবে সামনের মুখী ক্যামেরাগুলির জন্য অটো-ফ্ল্যাশ এইএর উপর নির্ভর করে না এবং সর্বদা ট্রিগার হয়।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
-
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
-
android.hardware.camera2.CaptureRequest#FLASH_MODE
পাস: অটো-ফ্ল্যাশ সক্ষম সহ টাইল চিত্রের কেন্দ্রটি সমস্ত ক্যামেরার জন্য মূল দৃশ্যের চিত্রের চেয়ে উজ্জ্বল।
পরীক্ষা_ফ্ল্যাশ_শক্তি
SINGLE
মোডে ফ্ল্যাশ শক্তি নিয়ন্ত্রণ যে পরীক্ষাগুলি সঠিকভাবে প্রয়োগ করা হয়।
যাচাই করে যে ডিভাইসটি যদি SINGLE
মোডে ক্যামেরা ব্যবহারের সময় ফ্ল্যাশ শক্তি নিয়ন্ত্রণকে সমর্থন করে তবে ফ্ল্যাশ শক্তি বিভিন্ন অনুরোধ করা শক্তি স্তরের সাথে পরিবর্তিত হয়। যাচাই করে যে ফ্ল্যাশ শক্তি নিয়ন্ত্রণ বিভিন্ন AE_MODES
সাথে কাজ করে। উদাহরণস্বরূপ, যদি অটো-এক্সপোজার মোডটি ON
বা OFF
থাকে তবে ফ্ল্যাশ শক্তি স্তরটি উজ্জ্বলতার উপর প্রভাব ফেলে এবং যদি মোডটি ON_AUTO_FLASH
হয় তবে ফ্ল্যাশ শক্তি স্তরটি উজ্জ্বলতার উপর কোনও প্রভাব ফেলবে না। পরীক্ষা পরিচালনা করতে, পরীক্ষার রগের আলোগুলি বন্ধ করতে হবে। লাইটগুলি আরডুইনো নিয়ামক দিয়ে স্বয়ংক্রিয়ভাবে বন্ধ করা যায়। পরীক্ষাটি সঠিকভাবে কাজ করার জন্য দৃশ্যটি অবশ্যই সম্পূর্ণ অন্ধকার হতে হবে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_MAX_LEVEL
পাস:
যখন অটো-এক্সপোজার মোডটি ON
বা OFF
থাকে, তখন ফ্ল্যাশ শক্তি স্তরটি FLASH_SINGLE_STRENGTH_MAX_LEVEL
থেকে কোনও ফ্ল্যাশ শক্তি স্তর বৃদ্ধি না হওয়ায় চিত্রের প্যাচগুলির উজ্জ্বলতা বৃদ্ধি পায়। যখন অটো-এক্সপোজার মোডটি ON_AUTO_FLASH
হয়, তখন চিত্রের প্যাচগুলির উজ্জ্বলতার পার্থক্য সহনশীলতার মধ্যে থাকে কারণ ফ্ল্যাশ শক্তি স্তরটি কোনও ফ্ল্যাশ থেকে FLASH_SINGLE_STRENGTH_MAX_LEVEL
পর্যন্ত বৃদ্ধি পায়।
test_led_snapshot
পরীক্ষাগুলি যে এলইডি স্ন্যাপশটগুলি চিত্রটি পরিপূর্ণ বা রঙিন করে না।
এই পরীক্ষাটি লাইটগুলি নিয়ন্ত্রণ করতে সেন্সর ফিউশন বাক্সে একটি আলোক নিয়ন্ত্রক যুক্ত করে। লাইটগুলি OFF
হয়ে যাওয়ার সাথে সাথে পরীক্ষাটি AUTO_FLASH
মোডটি ON
করে একটি ক্যাপচার নেয়। এই ক্যাপচার চলাকালীন, পরীক্ষাটি START
aePrecapture
ট্রিগার সেট দিয়ে একটি প্রাক -সিকোয়েন্স চালায় এবং ফ্ল্যাশ সহ ক্যাপচারটি গ্রহণের Preview
ক্যাপচারের অভিপ্রায় সেট করে।
ফ্ল্যাশের কারণে ক্যাপচারের একটি স্বতন্ত্র হটস্পট রয়েছে বলে পরীক্ষাটি পুরো ক্যাপচারের ফ্ল্যাশ চিত্রের গড় গণনা করে এবং মানটি (68, 102) সীমার মধ্যে রয়েছে কিনা তা যাচাই করে। চিত্রটি যুক্তিসঙ্গতভাবে সাদা-ভারসাম্যযুক্ত কিনা তা পরীক্ষা করার জন্য, পরীক্ষাটি আর/জি এবং বি/জি অনুপাত গণনা করে এবং অনুপাতগুলি 0.95 এবং 1.05 এর মধ্যে রয়েছে কিনা তা যাচাই করে।
এপিআইএস পরীক্ষিত:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#FLASH_MODE
পাস: আর/জি এবং বি/জি অনুপাত 0.95 এবং 1.05 এর মধ্যে রয়েছে। ফ্ল্যাশ চিত্রের অর্থ (68, 102) সীমার মধ্যে রয়েছে।
টেস্ট_নাইট_মোড_আইডিকেটর
Tests the functionality of the night mode indicator, a feature that indicates whether the camera is operating in low light conditions and will benefit from a Night Mode Camera Extension still capture. This feature is only available on devices that support Night Mode Camera Extensions.
This test checks that the night mode indicator correctly reflects the lighting conditions during camera preview. The test performs the following steps:
- Initialization: The test initializes an
ItsSession
and retrieves camera properties. It also establishes a connection with the lighting controller. - Skip Conditions: The test is skipped if the device doesn't support the required API level or the night mode indicator feature.
- Camera2 Session:
- The test starts a preview capture session using a
Camera2
session. - The light is turned on and a preview frame is captured.
- The test verifies that the night mode indicator is in the
OFF
state. - The light is turned off and a preview frame is captured.
- The test verifies that the night mode indicator is in the
ON
state.
- The test starts a preview capture session using a
- Camera extension session:
- The test repeats the same procedure as for the
Camera2
session, but using aCameraExtension
session with theEXTENSION_NIGHT
extension.
- The test repeats the same procedure as for the
- Cleanup: The test closes
ItsSession
and releases the lighting controller.
APIs tested:
পাস:
- When the light is on, the night mode indicator should be in the
OFF
state. - When the light is off, the night mode indicator should be in the
ON
state. - Applies for both
Camera2
andCameraExtension
sessions.
test_preview_min_frame_rate
Tests that the preview frame rate decreases correctly in a dark scene. For this test to work correctly, the lights in the test rig must be turned off by the controller or manually by the test operator.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
Pass: The preview frame rate is at the minimum of the requested frame rate range, and the variation between frames is less than the absolute tolerance set in the test.
পরীক্ষা_টর্চ_শক্তি
Tests that flash strength control in TORCH
mode is implemented correctly.
Verifies that if the device supports flash strength control during camera use in TORCH
mode, the torch strength changes with different requested strength levels. Verifies that flash strength control works with different AE_MODES
. For example, if the auto-exposure mode is ON
or OFF
, the flash strength level has an effect on brightness, and if the mode is ON_AUTO_FLASH
, the flash strength level has no effect on brightness. Verifies that the torch strength stays the same throughout the duration of a burst, simulating a video capture session. To conduct the test, lights in the test rig must be turned off. The lights can be turned off automatically with the Arduino controller. The scene must be completely dark for the test to work correctly.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_DEFAULT_LEVEL
-
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_MAX_LEVEL
পাস:
When the auto-exposure mode is ON
or OFF
, the brightness of the image burst patches increases as the flash strength level increases from no flash to FLASH_TORCH_STRENGTH_MAX_LEVEL
. When the auto-exposure mode is ON_AUTO_FLASH
, the difference in brightness of the image burst patches are within tolerance as the flash strength level increases from no flash to FLASH_TORCH_STRENGTH_MAX_LEVEL
.
সেন্সর_ফিউশন
Sensor fusion tests require specific phone movement in front of a checkerboard pattern and ArUco markers. For optimum results, ensure the test chart is mounted flat. Charts that aren't flat affect the rotation calculations for many of the tests. চার্টটি অবশ্যই 17"x17" (43x43 সেমি) মুদ্রণ করে সেন্সর ফিউশন বাক্সের পিছনের অংশটি পূরণ করতে হবে। The sensor_fusion
tests can be automated with the Sensor Fusion Box .
Sensor fusion chart
Sensor fusion chart that fills the back of the sensor fusion box
test_lens_intrinsic_calibration
Tests that the optical center of the lens intrinsic changes when the lens moves due to optical image stabilization (OIS). If lens intrinsic samples are supported, tests that the optical center of the lens intrinsic samples changes when the lens moves due to optical image stabilization (OIS).
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: The optical center of the lens intrinsic changes by one pixel or more. If lens intrinsic samples are supported, the optical centers of the lens intrinsic samples change by one pixel or more.
Example of test_lens_intrinsic_calibration
plot showing changes of principal points in pixels for each frame
test_multi_camera_frame_sync
Tests that frame timestamps captured by logical camera are within 10 ms by computing angles of squares within the checkerboard to determine the timestamp.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
-
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
-
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
Pass: Angle between images from each camera doesn't change appreciably as phone is rotated.
পরীক্ষা_পূর্বরূপ_বিকৃতি
Tests that distortion is corrected throughout each preview frame taken at various zoom levels. For each preview frame, the test calculates ideal points based on camera intrinsics and extrinsics. In the example image, ideal points are shown in green; actual points are shown in red. The distortion error is calculated based on the root mean square (RMS) pixel distance between the actual points and ideal points. The green and red highlights on the image are used to visually detect the area of distortion error.
Image of checkerboard with ideal points as green and actual points as red
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
-
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
-
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
Pass: The normalized distortion error of each preview frame is less than the threshold set in the test.
test_preview_stabilization
Tests that stabilized preview video rotates less than gyroscope.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: Max angle rotation over frames is less than 70% of gyroscope rotation.
The following are sample videos with and without stabilization.
Sample video with stabilization
Sample video without stabilization
test_sensor_fusion
Tests the timestamp difference between the camera and the gyroscope for AR and VR applications. Phone is rotated 90 degrees 10 times in front of the checkerboard pattern. Motion is about 2 s round trip. This test is skipped if no gyroscope is included or if the timestamp source REALTIME
parameter is not enabled.
The test_sensor_fusion
test generates a number of plots. The two most important plots for debugging are:
test_sensor_fusion_gyro_events
: Shows the gyroscope events for the phone during the test. Movement in the x and y direction implies the phone isn't securely mounted on the mounting plate, reducing the probability of the test passing. The number of cycles in the plot depends on the write speed for saving frames.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: Shows the alignment of the gyroscope and camera events. This plot must show matching movement between camera and gyroscope to +/-1 ms.test_sensor_fusion_plot_rotations
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#LENS_FACING
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
-
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
-
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
-
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
-
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Pass: Camera and gyroscope timestamps' offset is less than 1 ms as per CDD section 7.3.9 High Fidelity Sensors [C-2-14] .
Fail mechanisms:
- Offset error: The camera-gyroscope offset isn't correctly calibrated to within +/-1 ms.
- Frame drops: The pipeline isn't fast enough to capture 200 frames consecutively.
- Socket errors:
adb
can't reliably connect to the DUT long enough to execute the test. - The chart isn't mounted flat. The plot
test_sensor_fusion_plot_rotations
has frames where the gyroscope and camera rotation vary considerably as the camera rotates through the parts of the chart that aren't flat. - The camera isn't mounted flat. The plot
test_sensor_fusion_gyro_events
shows movement in the X and Y planes. This failure is more common in front-facing cameras as the rear camera often has a raised bump to the rest of the phone body, creating a tilt when mounting the rear of the phone to the mounting plate.
test_video_stabilization
Tests that stabilized video rotates less than gyroscope.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: Max angle rotation over frames is less than 60% of gyroscope rotation.
The following are sample videos with and without stabilization.
Sample video with stabilization
Sample video without stabilization
test_video_stabilization_jca
Tests that stabilized video captured using the Jetpack Camera App (JCA) rotates less than the gyroscope. The JCA must be installed on the device before testing.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.CamcorderProfile
-
android.media.MediaRecorder
Pass: The maximum angle rotation over frames extracted from video captured using the JCA is less than 70% of gyroscope rotation.
বৈশিষ্ট্য_কম্বিনেশন
The feature_combination
tests verify that features work correctly when multiple camera features are enabled at the same time. These tests use the same checkerboard image that is used in the sensor fusion scene .
test_feature_combination
Tests all combinations of different stream combinations, video stabilization mode, target FPS range, 10-bit HDR video, and Ultra HDR that are supported by the camera device.
For 16 and higher, the test runs all combinations of supported features, and logs the results into a proto file. Failure assertions are called only for combinations of features for which isSessionConfigurationSupported
returns True
.
APIs tested:
-
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
-
android.hardware.camera2.CameraDevice.CameraDeviceSetup#createCaptureRequest
Pass: For each supported feature combination:
- The preview stream is stabilized if preview stabilization is on.
- The preview frame rate falls within the configured
AE_TARGET_FPS_RANGE
. - The recorded preview stream's color space matches what's set.
- The Ultra HDR capture has a valid gain map.
scene_ip
(Available from Android 16) Scene scene_ip enables image parity checks between the default camera app and the Jetpack camera app (JCA) to identify major differences between captured images. The JCA replicates social media app captures and provides a baseline image that that social media apps then process and refine.
Hardware setup requirements
The following hardware setup is required for scene_ip tests:
- Tests are executed in the Gen2 camera ITS-in-a-box .
- The lighting and servo controllers that are part of the Gen2 rig are used to control the test environment
- A test feature chart is placed inside the Gen2 rig.
Gen2chart_sample.png
Test skip criteria
The scene_ip tests are skipped if any of the following criteria are met:
- The device has a first API level (
first_api_level
) of 35 or lower. - The device isn't a phone device with front and rear primary camera devices (for example, a tablet or TV).
test_default_jca_ip
Takes captures of the test feature chart under controlled lighting conditions using the default camera app and the JCA and performs the following checks:
FoV: Checks that the default camera app and JCA captures have the same FoV. This check uses the center QR Code feature extracted from the captures chart image.
Brightness: Checks that the brightness difference measured between the default camera app and JCA doesn't exceed 10. This check uses the dynamic range patch for brightness measurement.
White balance: Checks that the white balance difference between the default camera app and JCA doesn't exceed 4. This check uses the dynamic range patch for brightness measurement.
Basic section pass: Test passes the FoV, brightness, and white balance checks. In Android 16, this test isn't mandated ( NOT_YET_MANDATED
).