From f8a55078b582880c5f1b957bb356e924ba0639b2 Mon Sep 17 00:00:00 2001 From: yushulx Date: Mon, 13 Jan 2025 09:09:06 +0800 Subject: [PATCH] Update --- litecam/dist/include/Camera.h | 44 ------------------- litecam/dist/lib/linux/liblitecam.so | Bin 139416 -> 124200 bytes litecam/dist/lib/windows/debug/litecam.dll | Bin 1437184 -> 1437184 bytes litecam/dist/lib/windows/release/litecam.dll | Bin 243712 -> 243712 bytes litecam/include/Camera.h | 44 ------------------- litecam/src/CameraLinux.cpp | 44 +++++++++++++++++++ litecam/src/CameraWindows.cpp | 44 +++++++++++++++++++ 7 files changed, 88 insertions(+), 88 deletions(-) diff --git a/litecam/dist/include/Camera.h b/litecam/dist/include/Camera.h index bb1329a..30214c3 100644 --- a/litecam/dist/include/Camera.h +++ b/litecam/dist/include/Camera.h @@ -43,50 +43,6 @@ struct Buffer }; #endif -unsigned char clamp(double value, double min, double max) -{ - if (value < min) - return static_cast(min); - if (value > max) - return static_cast(max); - return static_cast(value); -} - -void ConvertYUY2ToRGB(const unsigned char *yuy2Data, unsigned char *rgbData, int width, int height) -{ - int rgbIndex = 0; - for (int i = 0; i < width * height * 2; i += 4) - { - // Extract YUV values - unsigned char y1 = yuy2Data[i]; - unsigned char u = yuy2Data[i + 1]; - unsigned char y2 = yuy2Data[i + 2]; - unsigned char v = yuy2Data[i + 3]; - -#ifdef _WIN32 - // Convert first pixel (Y1, U, V) to RGB - rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); - - // Convert second pixel (Y2, U, V) to RGB - rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); -#else - // Convert first pixel (Y1, U, V) to RGB - rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); - - // Convert second pixel (Y2, U, V) to RGB - rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); -#endif - } -} - // Struct definitions struct CAMERA_API FrameData { diff --git a/litecam/dist/lib/linux/liblitecam.so b/litecam/dist/lib/linux/liblitecam.so index eb8b23c8750ac64be21d201e53fa35f763b3b3ae..e3aa126a9162b4d64d002798504ac8bc83f31e7c 100644 GIT binary patch literal 124200 zcmeFaeSB2K`8K{uh(;^jfKsW|8Wa^lX~K)5NV`amE=V*5qVY9}A($v3F(in#sliP& z%d(iNRJ7Jct1b1bHC3cQ0XIlVRH{*_MvCpCw4SxJMnp~hQu$riJ#%(vH@kp+`g=al zA6-2;=elO*o|${@d7pE*-I{q(dRm&x`DM7i?TR6n%cC9acVeu^HOX}pTuySGD1HYy zfs@=<-JnS4?#fn}(lYs2t8n6d$y17V?q)cNFGr^*;qIBL!Z~*{+!1i{RI6~F#`wF} zt-=-SyAv)QG{cqZaHTq&bNA2#e$G8hK^N1=Ym#4sgk@MhsZK;U3_VgYgc3NoA#-JLk$Ymw(uquB@!)yvH-%b6s}f z$X1s(qqg0ZHEpEZmF~*PYMpy_esigPzV(2&b&xkVee)*I&8L6;+^JdFIUnCq-2C`O zk-`_w`RXb8qlcsqS~$Y@>)yw6GqYVIUYt1c{FcH;nodc(>woI~kq3tk8dCPnq2D@g zsE28}9M?6tuEXX0O7uf1?sIX?!$s4r#8r)J0WRl9lU?WleP5*Si*dgd*KHa*x9{WO z2e@v>bqB6yTzBHS3m1Q_>gMw6dl2{K`uT_Yeh=>V;rbD-`*A&p>&Li$imM&hqqrW! z^*FAd<1&B00Qe;?U9H6FSNQvDT+iTIjq5pFYjCZ@wI0_7T+icr0oN8>TXFH%g{vFa zi@09KwGG$rarNMO4cF_qoZoglyrse0xc?E?JGlOYD~xLwuHCr)itBw`{Moo7xc)|f z-yU55z_l0G$GASl#b3X=x&9aTf8jcSi%r=eZKRpFAA##=T*u)0Dz0o?&Ts0R`=4ET zWO(A@=UYyF_}oz|{_2@gG_>!^y9!E{K6{OC)QS%u`@@A#HJt=leoXWo*D1!vqo?6k9we0;-+2cFIED5_rY=C&ED#+@{ocu~==FP=T?m6Oi< z{oh|0dEqfX`D*z1YYP8%QQB3bR_xw8`nX-&&-Fid$?W}${yKBUanCIN&F>d_kNWDO zV|Er@_s@rKTz=J!8MEH};(J%^y*hKp3h#<#Ip02K{7)Lz&fK;l^v14ZUz>b!@p~st z`_`MS7vGh8<0+n3&)$01b62)bdcrrV?7hLe+rBux^08-E%>AYHudJM<4~%{FPhV7C z_KRn4Dh|GM_29Gasr+E{&;K>{f{&L>eB{nGr`|HO?Wr|CUz+}tH8+jj-gIRBAMStP zN1r{q^@{ggW6R!K_{p`s|EPSk;*!y~XJ0b-#vKoQ^470LEWGoFeLvmz#<8c3xTC9Y zU+v}p{NNYQ9`T34)Anr3UGt;rU;gc${3VNaWPJChfAKE=bnsEDA6T4s<_qn4r~T!h zue4rqv1{5_#*98I#CO*Wb7N?u|b`%6rL~ zW4`A8<(QQ_*DZXa;+*tzFTC*Pw+7!h?aao1^$ls961cx$>xL({{rw2fk$-r1_DB0B zfA!(DBj#OtTib>ASKl}4zzg5;y!^MqbFQED^zXLKIp@7ybzA1V9z5^&A3V~%|Mu&y z$PN$sBJG*}`%f6VgN8mCf9q+<`3pxR=l_g;Cz+fbUro-BO(Ex&k;(l( zeSC7hJB9oOXg89jXW=o)`HQH#B>LQ#lidHh6#6_ph2AEl(9hb;7?t`zyb69b22`katT≠^lS2RBN};!>Q~19kh5SGYJ9%ty^7Q{bML9l| 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℞$?uOonX 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

dgV!j?v<_jd8blf9#G_8vRKUcSz=4NVZeq_$3_ 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 U^6&XTa`NlQ6uYReeu5wW2V2k;od5s; literal 139416 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 delta 4563 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 - if (value > max) - return static_cast(max); - return static_cast(value); -} - -void ConvertYUY2ToRGB(const unsigned char *yuy2Data, unsigned char *rgbData, int width, int height) -{ - int rgbIndex = 0; - for (int i = 0; i < width * height * 2; i += 4) - { - // Extract YUV values - unsigned char y1 = yuy2Data[i]; - unsigned char u = yuy2Data[i + 1]; - unsigned char y2 = yuy2Data[i + 2]; - unsigned char v = yuy2Data[i + 3]; - -#ifdef _WIN32 - // Convert first pixel (Y1, U, V) to RGB - rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); - - // Convert second pixel (Y2, U, V) to RGB - rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); -#else - // Convert first pixel (Y1, U, V) to RGB - rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); - - // Convert second pixel (Y2, U, V) to RGB - rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); - rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); -#endif - } -} - // Struct definitions struct CAMERA_API FrameData { diff --git a/litecam/src/CameraLinux.cpp b/litecam/src/CameraLinux.cpp index 545bb5a..842dd8a 100644 --- a/litecam/src/CameraLinux.cpp +++ b/litecam/src/CameraLinux.cpp @@ -5,6 +5,50 @@ #include #include +unsigned char clamp(double value, double min, double max) +{ + if (value < min) + return static_cast(min); + if (value > max) + return static_cast(max); + return static_cast(value); +} + +void ConvertYUY2ToRGB(const unsigned char *yuy2Data, unsigned char *rgbData, int width, int height) +{ + int rgbIndex = 0; + for (int i = 0; i < width * height * 2; i += 4) + { + // Extract YUV values + unsigned char y1 = yuy2Data[i]; + unsigned char u = yuy2Data[i + 1]; + unsigned char y2 = yuy2Data[i + 2]; + unsigned char v = yuy2Data[i + 3]; + +#ifdef _WIN32 + // Convert first pixel (Y1, U, V) to RGB + rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); + + // Convert second pixel (Y2, U, V) to RGB + rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); +#else + // Convert first pixel (Y1, U, V) to RGB + rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); + + // Convert second pixel (Y2, U, V) to RGB + rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); +#endif + } +} + bool Camera::Open(int cameraIndex) { std::string devicePath = "/dev/video" + std::to_string(cameraIndex); diff --git a/litecam/src/CameraWindows.cpp b/litecam/src/CameraWindows.cpp index c0ebb18..1967124 100644 --- a/litecam/src/CameraWindows.cpp +++ b/litecam/src/CameraWindows.cpp @@ -12,6 +12,50 @@ using Microsoft::WRL::ComPtr; +unsigned char clamp(double value, double min, double max) +{ + if (value < min) + return static_cast(min); + if (value > max) + return static_cast(max); + return static_cast(value); +} + +void ConvertYUY2ToRGB(const unsigned char *yuy2Data, unsigned char *rgbData, int width, int height) +{ + int rgbIndex = 0; + for (int i = 0; i < width * height * 2; i += 4) + { + // Extract YUV values + unsigned char y1 = yuy2Data[i]; + unsigned char u = yuy2Data[i + 1]; + unsigned char y2 = yuy2Data[i + 2]; + unsigned char v = yuy2Data[i + 3]; + +#ifdef _WIN32 + // Convert first pixel (Y1, U, V) to RGB + rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); + + // Convert second pixel (Y2, U, V) to RGB + rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); +#else + // Convert first pixel (Y1, U, V) to RGB + rgbData[rgbIndex++] = clamp(y1 + 1.402 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y1 + 1.772 * (u - 128), 0.0, 255.0); + + // Convert second pixel (Y2, U, V) to RGB + rgbData[rgbIndex++] = clamp(y2 + 1.402 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 - 0.344136 * (u - 128) - 0.714136 * (v - 128), 0.0, 255.0); + rgbData[rgbIndex++] = clamp(y2 + 1.772 * (u - 128), 0.0, 255.0); +#endif + } +} + struct GUIDComparator { bool operator()(const GUID &lhs, const GUID &rhs) const