ควรปรับสีของพื้นผิวสำหรับการแสดงบนโทรทัศน์หรือไม่?


10

หากภาพ 24 บิต RGB ที่มีช่วง 0-255 ต่อช่องแสดงบนโทรทัศน์ที่แสดงช่วงประมาณ 16-235 ต่อช่องรายละเอียดสีจะหายไปถูกต้องหรือไม่

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

คำตอบ:


8

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

สิ่งเหล่านี้อาจช่วยคุณได้:


ขอบคุณสำหรับลิงค์ ฉันทำการแก้ไขแกมม่า ณ เวลาโหลดด้วย libpng ซึ่งช่วยได้ แต่ฉันอาจต้องดูโค้ดอีกครั้งหลังจากอ่านข้อมูลข้างต้นเนื่องจากรูปภาพยังคง 'ล้างออก' บนโทรทัศน์
xx

5

การแมปเชิงเส้นอาจไม่ใช่ทางออกที่ดีที่สุด (ซึ่งฉันเชื่อว่าเกี่ยวข้องกับการแปลง RGB ของคุณเป็นCIE colourspaceปรับขนาดที่นั่นและแปลงกลับ) แต่มันง่ายมากที่จะนำไปใช้และความแตกต่างของช่วงมีขนาดเล็กพอ .

หากคุณใช้SOILจะสามารถทำสิ่งนี้ได้โดยอัตโนมัติเมื่อโหลดรูปภาพโดยส่ง SOIL_FLAG_NTSC_SAFE_RGB ไปยังฟังก์ชันโหลด

เอกสารของ Microsoftบอกว่าจะหนีบและแนะนำให้ทำในส่วนของพิกเซล (การปรับสเกลเชิงเส้นควรทำได้ง่ายในหนึ่งเดียว) นอกจากนี้ยังกล่าวถึงการรวบรวมข้อมูลของ Chroma ซึ่งในประสบการณ์ของฉันเป็นปรากฏการณ์ที่น่ารำคาญมากขึ้นเมื่อทำงานบนจอทีวี


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