เป็นไปได้ไหมที่ทำให้ภาพเบลอปลอมเป็นภาพ?


9

ฉันใช้ libGDX สำหรับเกม Android เท่าที่ฉันสามารถบอกได้มันไม่มี API สำหรับการเบลอ

อ่านบน Wikipedia ดูเหมือนว่าภาพพร่ามัวเกิดจากการตั้งค่าแต่ละพิกเซล RGB เป็นค่าเฉลี่ยของค่าที่อยู่ติดกัน ซึ่งดูเหมือนจะเป็นไปไม่ได้อย่างง่ายดายใน libGDX - การตั้งค่าข้อมูลพิกเซล

ดังนั้นคำถามของฉันง่าย:

เป็นไปได้หรือไม่ที่จะปลอม (เบลอ) โดยใช้ภาพเท่านั้น?

ฉันสามารถซ้อนทับภาพ (ในจำนวนความโปร่งใสประเภท) หลายภาพ; แต่ฉันสามารถสร้างภาพเบลอที่น่าเชื่อถือเช่นนี้ได้หรือไม่?

ฉันอยากจะพูดว่า "ไม่" แต่อาจมีบางคนประสบความสำเร็จในสิ่งที่คล้ายกัน เพื่อความชัดเจนฉันต้องการชุดภาพทั่วไป 1+ ภาพที่สามารถแสดงบนภาพใดก็ได้เพื่อสร้างเอฟเฟกต์แบบเบลอ


คำถามที่ดี! ฉันคิดในสิ่งเดียวกันฉันเอง!
Daniel บอก Reinstate Monica

@DantheMan บนแพลตฟอร์มใด
ashes999

Unity3d หรือ CG shading language
Daniel บอก Reinstate Monica

คุณแนะนำให้วางซ้อนภาพโปร่งใสทับซ้อนทับกัน หากคุณชดเชยพวกเขาเล็กน้อยคุณจะเฉลี่ยค่าพิกเซลทำให้เบลอ
Jeff

1
@ ashes999 หากคุณกำลังมองหา "ภาพเวทย์มนตร์" ที่สามารถซ้อนทับกับสิ่งต่าง ๆ เพื่อทำให้ภาพพร่ามัวนั่นไม่มีอยู่จริง การผสมอัลฟ่า (การซ้อนทับ) ไม่ใช่สิ่งเดียวกันจากการเบลอขอโทษ
Nathan Reed

คำตอบ:


7

หากคุณสามารถผสมผสานภาพเข้าด้วยกันและคูณด้วยค่าคงที่ในขณะที่ทำเช่นนั้นคุณสามารถเบลอได้ แทนที่จะเฉลี่ยพิกเซลในละแวกใกล้เคียงคุณควรเฉลี่ยสำเนาภาพหลายภาพที่ถูกแทนที่ด้วยพิกเซลจำนวนเล็กน้อยจากกัน หรือโดยทั่วไปคุณสามารถทำแบบเกาส์เกาส์หรือเบลอแบบใดก็ได้โดยการควบคุมน้ำหนัก - นั่นคือการเพิ่มจำนวนสำเนาของภาพที่ถูกแทนที่ด้วยภาพแต่ละภาพด้วยค่าคงที่ขณะที่มันถูกเพิ่มเข้ากับส่วนที่เหลือ

อัลกอริทึมมันจะมีลักษณะเช่นนี้:

clear output_image to 0
foreach offset, weight in filter_kernel:
    output_image += input_image * weight, shifted by offset

คุณจะใช้การชดเชยและตุ้มน้ำหนักเช่นเดียวกับวิธีการเบลอมาตรฐาน มีบทความมากมายบนเว็บเกี่ยวกับวิธีสร้างน้ำหนักสำหรับการเบลอแบบเกาส์เซียนเป็นต้น


+1 คำตอบที่ดี ในกรณีของฉันฉันไม่มีความสามารถเพิ่มเติม
ashes999

0

การเบลออาจเป็นการดำเนินการที่มีราคาแพงบางทีอาจใช้วิธีที่แตกต่างกันเช่น:

  1. จัดเก็บสำเนาภาพหลายภาพเบลอในหลาย ๆ ทิศทาง (เช่นทวีคูณ 45 องศา) จากนั้นแสดงภาพที่ใกล้เคียงที่สุดที่รันไทม์ สิ่งนี้จะให้ประสิทธิภาพสูงสุดในราคาการใช้หน่วยความจำ
  2. ลดขนาดภาพลงจากนั้นกลับเป็นขนาดเต็มพร้อมการลบรอยหยัก / การปรับให้เรียบ บ่อยครั้งสิ่งนี้สามารถทำได้กับฮาร์ดแวร์กราฟิกที่มีผลกระทบต่อประสิทธิภาพน้อยมาก

มันไม่ทำงานเพราะมันต้องเป็นแบบไดนามิกนั่นคือฉันไม่สามารถทราบการตั้งค่าหน้าจอที่แน่นอนล่วงหน้า
ashes999
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.