आरजीबी-> वाईयूवी रूपांतरण सी/सी ++ में कैसे करें?आरजीबी-> वाईयूवी रूपांतरण सी/सी ++ में कैसे करें?
.. मैं कुछ बिटमैप है आरजीबी मैं YUV को
Libs यह कन्वर्ट करने के लिए की आवश्यकता है? Tuts? लेख?
आरजीबी-> वाईयूवी रूपांतरण सी/सी ++ में कैसे करें?आरजीबी-> वाईयूवी रूपांतरण सी/सी ++ में कैसे करें?
.. मैं कुछ बिटमैप है आरजीबी मैं YUV को
Libs यह कन्वर्ट करने के लिए की आवश्यकता है? Tuts? लेख?
प्रश्न पूछा गया कि सी/सी ++ में रूपांतरण कैसे करें। ImageMagick निश्चित रूप से सी ++ है, लेकिन यहां कोई फ़ंक्शंस दिखाया नहीं गया है, (प्लस ImageMagick अपने लाइसेंस के तहत है) इसलिए मैंने Leszek के जवाब को वोट दिया और उखाड़ फेंक दिया। –
चेक इस अनुच्छेद: http://www.fourcc.org/fccyvrgb.php रूपांतरण काफी आसान है, इसलिए आप शायद इस
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128
हाय Voyager मुझे कुछ मदद की ज़रूरत है मैंने अपना कोड डंप किया है जो yv12-> rgb565 है। उसी तरह मुझे yuv444 के लिए rgb888 करने के लिए प्रदर्शन करना है। कृपया मेरा मार्ग दर्शन कीजिए। कृपया आप फ़ंक्शन के लिए अपना नवीनतम प्रश्न देख सकते हैं जो yuv12-> rgb565 – Abhineet
को परिवर्तित करता है ध्यान दें कि कलर स्पेस को नियंत्रित करने वाले कई मानदंड हैं जिन्हें आप एक yuv फ़ाइल (यानी बीटी 601, बीटी 70 9, xvYcc) में सामना कर सकते हैं, ये फॉर्मूल्स आपको एक विवेकपूर्ण छवि देगा उनमें से अधिकांश के साथ, लेकिन आपको coplors "दाएं" प्राप्त करने के लिए उन्हें बदलने की आवश्यकता हो सकती है (यदि आपके पास xvYcc या non-8 बिट डेटा – tletnes
आप भी इन पूर्णांक की कोशिश करना चाहते हो सकता है के आधार पर अपने खुद के समारोह लिख सकता है केवल गणना (तैरता की तुलना में तेजी से किया जाना चाहिए)
#define CLIP(X) ((X) > 255 ? 255 : (X) < 0 ? 0 : X)
// RGB -> YUV
#define RGB2Y(R, G, B) CLIP((( 66 * (R) + 129 * (G) + 25 * (B) + 128) >> 8) + 16)
#define RGB2U(R, G, B) CLIP(((-38 * (R) - 74 * (G) + 112 * (B) + 128) >> 8) + 128)
#define RGB2V(R, G, B) CLIP(((112 * (R) - 94 * (G) - 18 * (B) + 128) >> 8) + 128)
// YUV -> RGB
#define C(Y) ((Y) - 16 )
#define D(U) ((U) - 128)
#define E(V) ((V) - 128)
#define YUV2R(Y, U, V) CLIP((298 * C(Y) + 409 * E(V) + 128) >> 8)
#define YUV2G(Y, U, V) CLIP((298 * C(Y) - 100 * D(U) - 208 * E(V) + 128) >> 8)
#define YUV2B(Y, U, V) CLIP((298 * C(Y) + 516 * D(U) + 128) >> 8)
// RGB -> YCbCr
#define CRGB2Y(R, G, B) CLIP((19595 * R + 38470 * G + 7471 * B) >> 16)
#define CRGB2Cb(R, G, B) CLIP((36962 * (B - CLIP((19595 * R + 38470 * G + 7471 * B) >> 16)) >> 16) + 128)
#define CRGB2Cr(R, G, B) CLIP((46727 * (R - CLIP((19595 * R + 38470 * G + 7471 * B) >> 16)) >> 16) + 128)
// YCbCr -> RGB
#define CYCbCr2R(Y, Cb, Cr) CLIP(Y + (91881 * Cr >> 16) - 179)
#define CYCbCr2G(Y, Cb, Cr) CLIP(Y - ((22544 * Cb + 46793 * Cr) >> 16) + 135)
#define CYCbCr2B(Y, Cb, Cr) CLIP(Y + (116129 * Cb >> 16) - 226)
'/ एक्शनस्क्रिप्ट/सी में सी/सी ++ /' में यह एक नया सवाल नहीं बनाता है http://stackoverflow.com/questions/1737712/how-to-perform-rgb-yuv-conversion-with-actionscript – voyager
आप आरयूजी मूल्य को यूयूवी में बदलना चाहते हैं? या एक आरजीबी बिटमैप को एक यूयूवी फ़ाइल में बदलें? आप एक छवि फ़ाइल कनवर्ट करना चाहते हैं, है ना? – voyager
मुझे यकीन है कि इस काम को gfx कार्ड पर धक्का देने का एक तरीका है। इस प्रकार का ऑपरेशन जीएफएक्स कार्ड के लिए बिल्कुल सही है। – fishfood