ฉันมีภาพที่ถ่ายโดยกล้องโทรศัพท์มือถือโดยเน้นที่ส่วนหนึ่งของมัน ฉันต้องการที่จะรู้ว่า - ประมาณ - ซึ่งเป็นพื้นที่ที่มุ่งเน้น ตัวอย่างเช่นกล่องขอบเขตรอบ ๆ พื้นที่ที่มุ่งเน้น ตัวอย่าง:
ฉันมีภาพที่ถ่ายโดยกล้องโทรศัพท์มือถือโดยเน้นที่ส่วนหนึ่งของมัน ฉันต้องการที่จะรู้ว่า - ประมาณ - ซึ่งเป็นพื้นที่ที่มุ่งเน้น ตัวอย่างเช่นกล่องขอบเขตรอบ ๆ พื้นที่ที่มุ่งเน้น ตัวอย่าง:
คำตอบ:
โดยทั่วไปนี่เป็นปัญหาการแบ่งส่วนภาพ ( http://en.wikipedia.org/wiki/Image_segmentation ) ซึ่งคุณจะพยายามแยกโฟกัสที่อยู่ในบริเวณที่ไม่ได้โฟกัสของภาพ
เลนส์ออฟติคอลเทียบเท่ากับฟิลเตอร์กรองความถี่ต่ำและเอฟเฟ็กต์ของฟิลเตอร์กรองความถี่ต่ำบนสัญญาณคือทำให้ราบรื่นขึ้นโดย จำกัด เนื้อหาความถี่ที่สูงขึ้น
ในการประมวลผลภาพดิจิตอลความถี่ต่ำจะสอดคล้องกับวัตถุขนาดใหญ่ (รูปแบบทั่วไป) และความถี่ที่สูงขึ้นนั้นสอดคล้องกับวัตถุขนาดเล็ก (รายละเอียด)
ดังนั้นเพื่อแยกพื้นที่โฟกัสคุณอาจมองหาพื้นที่ที่มีค่าเบี่ยงเบนมาตรฐานที่สูงกว่าเมื่อเทียบกับพื้นที่ที่เบลอซึ่งจะมีค่าเบี่ยงเบนมาตรฐานต่ำกว่าเนื่องจากการทำงานที่ราบรื่นของเลนส์ที่ไม่อยู่ในโฟกัส
ในการแยกแยะภูมิภาค 'เบลอ' และ 'ไม่เบลอ' คุณสามารถตั้งค่า "หน้าต่าง" ของส่วนข้อมูล และเลื่อนไปที่รูปภาพของคุณ
ที่แต่ละตำแหน่งของหน้าต่างคำนวณความแปรปรวนของค่า "แพทช์" ราวกับว่ามันเป็นเวกเตอร์หนึ่งมิติของ ค่า สิ่งนี้จะส่งผลให้ "ภาพ" อื่น (หรือโดยทั่วไปเป็นอาเรย์สองมิติ) แสดงถึงความผันแปรของค่าเบี่ยงเบนมาตรฐานในแต่ละตำแหน่งบนภาพของคุณ จากนั้นคุณสามารถรวบรวมค่าเหล่านี้ทั้งหมดและรับฮิสโตแกรมของพวกเขา ฮิสโตแกรมจะแสดงการกระจายแบบหลายรูปแบบ (สำหรับข้อมูลเพิ่มเติมโปรดดูที่http://en.wikipedia.org/wiki/Multimodal_distribution )
ในกรณีของภาพในโพสต์ของคุณฮิสโตแกรมมีแนวโน้มว่าจะแสดงสองโหมด หนึ่งที่สอดคล้องกับค่าที่ค่อนข้างสูงของค่าเบี่ยงเบนมาตรฐาน (พื้นที่โฟกัส) และหนึ่งที่สอดคล้องกับค่าที่ค่อนข้างต่ำของค่าเบี่ยงเบนมาตรฐาน (พื้นที่เบลอ)
จากนั้นคุณสามารถวางตำแหน่งขีด จำกัด ตัวอย่างเช่นระหว่างสองโหมดเพื่อสร้างเกณฑ์ระหว่างภูมิภาคที่คุณสนใจและไม่ได้โฟกัสจากนั้นเลือก "แพตช์" ทั้งหมด (หรือพื้นที่หน้าต่าง MxN) ที่มีค่าเบี่ยงเบนมาตรฐานสูงกว่าเกณฑ์ของคุณ (สำหรับข้อมูลเพิ่มเติมโปรดดู: http://en.wikipedia.org/wiki/Thresholding_%28image_processing%29 )
สิ่งนี้จะแยกส่วนที่โฟกัสของภาพให้คุณ
หวังว่านี่จะช่วยได้
นี่เป็นวิธีที่ง่ายกว่าซึ่งไม่เกี่ยวข้องกับการวิเคราะห์หน้าต่างแบบเลื่อน
แปลงภาพของคุณเป็นโทนสีเทา (ไม่จำเป็น แต่ฉันจะสมมติว่าคุณมีช่องทางเดียวเท่านั้นเพื่อความชัดเจน)
คำนวณการไล่ระดับสีในทั้งสองทิศทาง
คำนวณขนาด (หรือเพียงแค่ยกกำลังสองลาด)
รวมทั้งภาพไล่ระดับสีทั้งสองทิศทาง
ดังที่ได้กล่าวไปแล้วส่วนที่เน้นของภาพจะมีความถี่สูงกว่าพื้นที่ที่ไม่ได้เน้น จากการรวมคุณจะจบลงด้วยการฉายสองภาพซึ่งมีการเปลี่ยนแปลงมากมาย (ค่าที่สูงขึ้น) ในส่วนนั้นซึ่งวางวัตถุเพ่งความสนใจไปตามทิศทางนี้ คุณสามารถทำสิ่งต่อไปนี้:
กำหนดจุดเริ่มต้นและจุดสิ้นสุดของค่าที่สูงขึ้นเหล่านี้ คุณสามารถใช้ขีด จำกัด อย่างง่าย (เช่น 0.7 * maximum_value) หรือทำให้เรียบโปรไฟล์ใช้อนุพันธ์อันดับสองและตรวจสอบค่าสูงสุดในนั้น
ตำแหน่งเริ่มต้น / หยุดจากขั้นตอนก่อนหน้านี้ให้ตำแหน่งพิกเซลตามทิศทางทั้งสองที่จะวางสี่เหลี่ยมที่แหลมคมของคุณ