thuanpm

perform process image

Showing 29 changed files with 426 additions and 136 deletions
# ninja log v5
0 64 1650602571 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
65 98 1650602571 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 80 1650615117 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
80 134 1650615117 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 73 1650615866 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
73 126 1650615866 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 71 1650615941 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
71 128 1650615941 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 73 1650616011 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
73 137 1650616011 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
1 76 1650616258 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
76 124 1650616258 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 73 1650616614 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
73 123 1650616614 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 75 1650616877 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
75 121 1650616877 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 65 1650618386 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
65 110 1650618386 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 67 1650618622 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
67 112 1650618622 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 71 1650618856 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
71 120 1650618856 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 70 1650618990 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
70 121 1650618990 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 65 1650619184 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
65 111 1650619184 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 64 1650619562 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
64 110 1650619562 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 76 1650619910 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
77 127 1650619910 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 81 1650621683 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
81 139 1650621683 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 68 1650622633 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
68 129 1650622633 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
1 70 1650622707 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
70 115 1650622707 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 72 1650622907 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
72 116 1650622907 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
1 72 1650624017 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
72 133 1650624017 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 69 1650624096 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
69 117 1650624096 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
1 68 1650624174 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
68 112 1650624174 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 83 1650624212 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
83 129 1650624212 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 75 1650624269 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
75 121 1650624269 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 68 1650624392 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
68 110 1650624392 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 68 1650624589 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
68 116 1650624589 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
0 64 1650624870 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o b57f500dc79be77f
64 109 1650624870 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/arm64-v8a/libconvertImage.so f09c1e91f08b74d6
... ...
# ninja log v5
0 86 1650602571 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
87 128 1650602571 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
5 228 1650615116 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
228 300 1650615117 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 211 1650615866 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
211 303 1650615866 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 259 1650615941 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
259 331 1650615941 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 237 1650616011 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
237 304 1650616011 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 246 1650616258 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
246 321 1650616258 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 300 1650616614 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
300 369 1650616614 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 92 1650616877 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
92 158 1650616877 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 270 1650618385 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
270 338 1650618386 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 235 1650618622 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
235 304 1650618622 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 231 1650618856 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
231 298 1650618856 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 252 1650618990 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
252 412 1650618990 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 254 1650619184 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
254 321 1650619184 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 270 1650619562 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
270 359 1650619562 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 335 1650619909 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
335 416 1650619910 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 345 1650621683 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
345 439 1650621683 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 226 1650622632 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
226 293 1650622632 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 251 1650622707 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
251 318 1650622707 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 221 1650622907 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
221 284 1650622907 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 235 1650624017 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
235 303 1650624017 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 268 1650624096 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
268 334 1650624096 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 244 1650624174 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
244 310 1650624174 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 225 1650624212 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
225 289 1650624212 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 259 1650624269 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
259 348 1650624269 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 256 1650624392 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
256 327 1650624392 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
0 233 1650624589 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
233 301 1650624589 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
1 209 1650624870 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o be99d9eeccb17c58
209 274 1650624870 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/armeabi-v7a/libconvertImage.so 1f53379f7ece0985
... ...
# ninja log v5
0 59 1650602571 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
59 99 1650602571 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
2 70 1650615117 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 138 1650615117 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 70 1650615866 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 144 1650615866 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 70 1650615941 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 137 1650615941 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 73 1650616011 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
73 134 1650616011 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 69 1650616258 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
69 130 1650616258 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 70 1650616614 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 132 1650616614 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 63 1650616878 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
63 124 1650616878 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 72 1650618386 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
72 135 1650618386 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 70 1650618622 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 130 1650618622 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 72 1650618856 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
72 136 1650618856 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 69 1650618990 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
69 129 1650618990 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 67 1650619184 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
67 130 1650619184 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 70 1650619562 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
70 132 1650619562 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 74 1650619910 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
74 148 1650619910 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 89 1650621683 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
89 177 1650621683 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 75 1650622633 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
75 136 1650622633 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 72 1650622707 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
72 133 1650622707 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 71 1650622907 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
71 134 1650622907 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 70 1650624017 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
71 134 1650624017 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 72 1650624097 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
72 132 1650624097 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 73 1650624174 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
73 135 1650624174 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 73 1650624212 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
73 133 1650624212 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 117 1650624269 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
117 180 1650624269 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
0 74 1650624393 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
74 139 1650624393 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 66 1650624589 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
66 130 1650624589 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
1 81 1650624870 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 57e18dd5d0140855
81 139 1650624870 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86/libconvertImage.so 7f4e3b4d508b1b6e
... ...
# ninja log v5
0 60 1650602571 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
60 99 1650602571 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 69 1650615117 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
70 147 1650615117 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 63 1650615866 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
63 126 1650615866 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 73 1650615941 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
73 145 1650615942 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 62 1650616011 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
62 125 1650616011 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 62 1650616258 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
62 128 1650616258 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 63 1650616614 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
63 128 1650616615 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 61 1650616878 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
61 121 1650616878 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 60 1650618386 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
60 123 1650618386 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 61 1650618623 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
61 121 1650618623 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 62 1650618856 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
62 129 1650618856 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 60 1650618990 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
60 119 1650618991 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 71 1650619184 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
71 134 1650619184 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 58 1650619562 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
58 119 1650619562 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 61 1650619910 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
61 136 1650619910 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 92 1650621683 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
92 182 1650621684 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 61 1650622633 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
62 128 1650622633 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 60 1650622707 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
60 121 1650622707 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 73 1650622908 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
73 140 1650622908 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 63 1650624017 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
63 127 1650624017 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 61 1650624097 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
61 122 1650624097 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
1 66 1650624174 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
66 129 1650624174 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 63 1650624212 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
63 125 1650624212 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 62 1650624269 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
62 122 1650624269 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 60 1650624393 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
60 122 1650624393 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 59 1650624589 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
59 121 1650624589 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
0 59 1650624870 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 11586f4a23f3e0bc
59 124 1650624870 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/debug/obj/x86_64/libconvertImage.so 5aa4181c06f2e47
... ...
# ninja log v5
1 86 1650602418 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 95376ba5124e39a4
86 120 1650602418 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/arm64-v8a/libconvertImage.so 3650fedf4697cf9c
0 89 1650620545 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 95376ba5124e39a4
89 135 1650620545 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/arm64-v8a/libconvertImage.so 3650fedf4697cf9c
0 91 1650624687 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 95376ba5124e39a4
91 134 1650624687 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/arm64-v8a/libconvertImage.so 3650fedf4697cf9c
... ...
# ninja log v5
0 150 1650602418 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 65257e3505f7e4de
150 193 1650602418 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/armeabi-v7a/libconvertImage.so d8895c299209f524
1 323 1650620544 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 65257e3505f7e4de
323 394 1650620544 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/armeabi-v7a/libconvertImage.so d8895c299209f524
1 231 1650624687 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o 65257e3505f7e4de
231 302 1650624687 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/armeabi-v7a/libconvertImage.so d8895c299209f524
... ...
# ninja log v5
0 79 1650602418 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ad8d872130a4b513
80 118 1650602418 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86/libconvertImage.so 876a4e32094e5a6
0 87 1650620545 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ad8d872130a4b513
87 150 1650620545 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86/libconvertImage.so 876a4e32094e5a6
0 93 1650624687 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ad8d872130a4b513
93 152 1650624687 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86/libconvertImage.so 876a4e32094e5a6
... ...
# ninja log v5
0 81 1650602418 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ecda34c332ccf1a7
81 121 1650602418 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86_64/libconvertImage.so 3ddb775c8962f140
1 74 1650620545 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ecda34c332ccf1a7
74 144 1650620545 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86_64/libconvertImage.so 3ddb775c8962f140
0 100 1650624687 CMakeFiles/convertImage.dir/Users/moon/Desktop/processing_camera_image/ios/Classes/converter.c.o ecda34c332ccf1a7
100 173 1650624687 /Users/moon/Desktop/processing_camera_image/example/build/processing_camera_image/intermediates/cmake/release/obj/x86_64/libconvertImage.so 3ddb775c8962f140
... ...
... ... @@ -42,20 +42,23 @@ class _MyHomePageState extends State<MyHomePage> {
int count = 0;
final ProcessingCameraImage _processingCameraImage = ProcessingCameraImage();
imglib.Image? currentImage;
final stopwatch = Stopwatch();
void _processinngImage(CameraImage? value) async {
if (value != null) {
stopwatch.start();
currentImage = await Future.microtask(() => processImage(value));
stopwatch.stop();
print('this is time process: ${stopwatch.elapsedMilliseconds}');
stopwatch.reset();
print(currentImage?.length);
}
}
@override
void initState() {
pipe.listen((value) async {
if (value != null) {
final stopwatch = Stopwatch();
stopwatch.start();
currentImage = await Future.microtask(() => processImage(value));
stopwatch.stop();
print('this is time process: ${stopwatch.elapsedMilliseconds}');
stopwatch.reset();
print(currentImage?.length);
}
});
pipe.listen(_processinngImage);
_instanceInit = initCamera();
super.initState();
}
... ... @@ -68,7 +71,7 @@ class _MyHomePageState extends State<MyHomePage> {
Future<void> initCamera() async {
final cameras = await availableCameras();
_cameraController = CameraController(cameras[1], ResolutionPreset.medium);
_cameraController = CameraController(cameras[1], ResolutionPreset.max);
await _cameraController.initialize();
await _cameraController.startImageStream((image) {
pipe.sink.add(image);
... ... @@ -76,15 +79,10 @@ class _MyHomePageState extends State<MyHomePage> {
}
imglib.Image? processImage(CameraImage _savedImage) {
return _processingCameraImage.processCameraImageToRGB(
return _processingCameraImage.processCameraImageToGray(
height: _savedImage.height,
width: _savedImage.width,
plane0: _savedImage.planes[0].bytes,
plane1: _savedImage.planes[1].bytes,
plane2: _savedImage.planes[2].bytes,
bytesPerRowPlane0: _savedImage.planes[0].bytesPerRow,
bytesPerPixelPlan1: _savedImage.planes[1].bytesPerPixel,
bytesPerRowPlane1: _savedImage.planes[1].bytesPerRow,
rotationAngle: 180,
);
}
... ...
... ... @@ -7,21 +7,43 @@
#include <math.h>
#include <stdlib.h>
int clamp(int lower, int higher, int val){
if(val < lower)
int clamp(int lower, int higher, int val)
{
if (val < lower)
return 0;
else if(val > higher)
else if (val > higher)
return 255;
else
return val;
}
int getRotatedImageByteIndex(int x, int y, int rotatedImageWidth){
return rotatedImageWidth*(y) + (x);
int getRotatedImageByteIndex(int x, int y, int rotatedImageWidth)
{
return rotatedImageWidth * (y) + (x);
}
uint32_t *convertImage(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int bytesPerRow, int bytesPerPixel, int width, int height){
int hexFF = 255;
uint32_t *convertImageGrayScale(uint8_t *plane0, int width, int height, double angleRotation)
{
int x, y;
int yp, index;
int hexFF = 255;
uint32_t *image = malloc(sizeof(uint32_t) * (width * height));
for (x = 0; x < width; x++)
{
for (y = 0; y < height; y++)
{
index = y * width + x;
yp = plane0[index];
image[getRotatedImageByteIndex(y, x, height)] = (hexFF << 24) | (yp << 16) | (yp << 8) | yp;
}
}
return image;
}
uint32_t *convertImageRGB(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int bytesPerRow, int bytesPerPixel, int width, int height, double angleRotation)
{
int hexFF = 255;
int x, y, uvIndex, index;
int yp, up, vp;
int r, g, b;
... ... @@ -29,11 +51,12 @@ uint32_t *convertImage(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int by
uint32_t *image = malloc(sizeof(uint32_t) * (width * height));
for(x = 0; x < width; x++){
for(y = 0; y < height; y++){
uvIndex = bytesPerPixel * ((int) floor(x/2)) + bytesPerRow * ((int) floor(y/2));
index = y*width+x;
for (x = 0; x < width; x++)
{
for (y = 0; y < height; y++)
{
uvIndex = bytesPerPixel * ((int)floor(x / 2)) + bytesPerRow * ((int)floor(y / 2));
index = y * width + x;
yp = plane0[index];
up = plane1[uvIndex];
... ...
... ... @@ -6,13 +6,13 @@
#define PROCESSING_CAMERA_IMAGE_CONVERTER_H
#ifdef __cplusplus
extern "C"{
extern "C"
{
#endif
uint32_t *convertImage(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int bytesPerRow, int bytesPerPixel, int width, int height);
uint32_t *convertImageGrayScale(uint8_t *plane0, int width, int height, double angleRotation);
uint32_t *convertImageRGB(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int bytesPerRow, int bytesPerPixel, int width, int height, double angleRotation);
#ifdef __cplusplus
extern "C"{
}
#endif
#endif //PROCESSING_CAMERA_IMAGE_CONVERTER_H
\ No newline at end of file
#endif // PROCESSING_CAMERA_IMAGE_CONVERTER_H
\ No newline at end of file
... ...
import 'dart:async';
import 'dart:ffi';
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/services.dart';
import 'package:ffi/ffi.dart' as ffi;
import 'package:image/image.dart' as imglib;
... ... @@ -13,115 +9,163 @@ import 'package:image/image.dart' as imglib;
'C' Header definition
uint32_t *convertImage(uint8_t *plane0, uint8_t *plane1, uint8_t *plane2, int bytesPerRow, int bytesPerPixel, int width, int height);
*/
typedef convert_image_c= Pointer<Uint32> Function(
Pointer<Uint8>, Pointer<Uint8>, Pointer<Uint8>, Int32, Int32, Int32, Int32);
typedef ConvertImageFlutter = Pointer<Uint32> Function(
Pointer<Uint8>, Pointer<Uint8>, Pointer<Uint8>, int, int, int, int);
typedef convert_image_rgb_c = Pointer<Uint32> Function(Pointer<Uint8>,
Pointer<Uint8>, Pointer<Uint8>, Int32, Int32, Int32, Int32, Double);
typedef ConvertImageRGBFlutter = Pointer<Uint32> Function(
Pointer<Uint8>, Pointer<Uint8>, Pointer<Uint8>, int, int, int, int, double);
typedef convert_image_gray_c = Pointer<Uint32> Function(
Pointer<Uint8>, Int32, Int32, Double);
typedef ConvertImageGrayFlutter = Pointer<Uint32> Function(
Pointer<Uint8>, int, int, double);
class ProcessingCameraImage {
static ProcessingCameraImage? _instance;
late final ConvertImageFlutter _convertImage;
late final ConvertImageRGBFlutter _convertImageRGB;
late final ConvertImageGrayFlutter _convertImageGrayFlutter;
factory ProcessingCameraImage(){
_instance ??=ProcessingCameraImage._();
return _instance!;
factory ProcessingCameraImage() {
_instance ??= ProcessingCameraImage._();
return _instance!;
}
ProcessingCameraImage._(){
ProcessingCameraImage._() {
final DynamicLibrary convertImageLib = Platform.isAndroid
? DynamicLibrary.open("libconvertImage.so")
: DynamicLibrary.process();
_convertImage = convertImageLib
.lookup<NativeFunction<convert_image_c>>('convertImage')
.asFunction<ConvertImageFlutter>();
_convertImageRGB = convertImageLib
.lookup<NativeFunction<convert_image_rgb_c>>('convertImageRGB')
.asFunction<ConvertImageRGBFlutter>();
_convertImageGrayFlutter = convertImageLib
.lookup<NativeFunction<convert_image_gray_c>>('convertImageGrayScale')
.asFunction<ConvertImageGrayFlutter>();
}
/// Does something fun with the [ProcessCameraImageToRGB].
imglib.Image? processCameraImageToRGB(
{int? width,
int? height,
Uint8List? plane0,
Uint8List? plane1,
Uint8List? plane2,
double? rotationAngle,
int? bytesPerRowPlane0,
int? bytesPerRowPlane1,
int? bytesPerPixelPlan1,
}){
if(width==null || height == null || plane0?.isEmpty == null ||plane1?.isEmpty == null ||plane2?.isEmpty == null || bytesPerRowPlane0 == null || bytesPerRowPlane1 == null|| bytesPerPixelPlan1 == null){
return null;
/// [ProcessCameraImageToRGB].
imglib.Image? processCameraImageToRGB({
int? width,
int? height,
Uint8List? plane0,
Uint8List? plane1,
Uint8List? plane2,
double? rotationAngle,
int? bytesPerRowPlane0,
int? bytesPerRowPlane1,
int? bytesPerPixelPlan1,
}) {
if (width == null ||
height == null ||
plane0?.isEmpty == null ||
plane1?.isEmpty == null ||
plane2?.isEmpty == null ||
bytesPerRowPlane0 == null ||
bytesPerRowPlane1 == null ||
bytesPerPixelPlan1 == null) {
return null;
}
if (Platform.isAndroid) {
// Allocate memory for the 3 planes of the image
Pointer<Uint8> p = ffi.malloc.allocate(plane0?.length ?? 0);
Pointer<Uint8> p1 = ffi.malloc.allocate(plane1?.length ?? 0);
Pointer<Uint8> p2 = ffi.malloc.allocate(plane2?.length ?? 0);
// Assign the planes data to the pointers of the image
Uint8List pointerList = p.asTypedList(plane0?.length ?? 0);
Uint8List pointerList1 = p1.asTypedList(plane1?.length ?? 0);
Uint8List pointerList2 = p2.asTypedList(plane2?.length ?? 0);
pointerList.setRange(0, plane0?.length ?? 0, plane0 ?? Uint8List(0));
pointerList1.setRange(0, plane1?.length ?? 0, plane1 ?? Uint8List(0));
pointerList2.setRange(0, plane2?.length ?? 0, plane2 ?? Uint8List(0));
// Call the convertImage function and convert the YUV to RGB
Pointer<Uint32> imgP = _convertImageRGB(p, p1, p2, bytesPerRowPlane1,
bytesPerPixelPlan1, bytesPerRowPlane0, height, rotationAngle ?? 0.0);
// Get the pointer of the data returned from the function to a List
List<int> imgData = imgP.asTypedList(((bytesPerRowPlane0) * (height)));
// Generate image from the converted data
imglib.Image img =
imglib.Image.fromBytes(height, bytesPerRowPlane0, imgData);
// Free the memory space allocated
// from the planes and the converted data
ffi.malloc.free(p);
ffi.malloc.free(p1);
ffi.malloc.free(p2);
ffi.malloc.free(imgP);
if (rotationAngle != null) {
// imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return img;
} else {
return img;
}
if (Platform.isAndroid) {
// Allocate memory for the 3 planes of the image
Pointer<Uint8> p =
ffi.malloc.allocate(plane0?.length??0);
Pointer<Uint8> p1 =
ffi.malloc.allocate(plane1?.length??0);
Pointer<Uint8> p2 =
ffi.malloc.allocate(plane2?.length??0);
// Assign the planes data to the pointers of the image
Uint8List pointerList = p.asTypedList(plane0?.length??0);
Uint8List pointerList1 =
p1.asTypedList(plane1?.length??0);
Uint8List pointerList2 =
p2.asTypedList(plane2?.length??0);
pointerList.setRange(
0, plane0?.length??0, plane0??Uint8List(0));
pointerList1.setRange(
0, plane1?.length??0, plane1??Uint8List(0));
pointerList2.setRange(
0, plane2?.length??0, plane2??Uint8List(0));
// Call the convertImage function and convert the YUV to RGB
Pointer<Uint32> imgP = _convertImage(
p,
p1,
p2,
bytesPerRowPlane1??0,
bytesPerPixelPlan1 ?? 0,
bytesPerRowPlane0??0,
height??0);
// Get the pointer of the data returned from the function to a List
List<int> imgData = imgP.asTypedList(
((bytesPerRowPlane0??0) * (height??0)));
// Generate image from the converted data
imglib.Image img = imglib.Image.fromBytes(
height??0, bytesPerRowPlane0??0, imgData);
// Free the memory space allocated
// from the planes and the converted data
ffi.malloc.free(p);
ffi.malloc.free(p1);
ffi.malloc.free(p2);
ffi.malloc.free(imgP);
if(rotationAngle!=null){
imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return imgRot;
}else{
return img;
}
} else if (Platform.isIOS) {
imglib.Image img = imglib.Image.fromBytes(
bytesPerRowPlane0??0,
height??0,
plane0??Uint8List(0),
format: imglib.Format.bgra,
);
if(rotationAngle!=null){
imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return imgRot;
}else{
return img;
}
} else if (Platform.isIOS) {
imglib.Image img = imglib.Image.fromBytes(
bytesPerRowPlane0,
height,
plane0 ?? Uint8List(0),
format: imglib.Format.bgra,
);
if (rotationAngle != null) {
imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return imgRot;
} else {
return img;
}
return null;
}
return null;
}
/// [processCameraImageToGray].
imglib.Image? processCameraImageToGray({
int? width,
int? height,
Uint8List? plane0,
double? rotationAngle,
}) {
if (width == null || height == null || plane0?.isEmpty == null) {
return null;
}
if (Platform.isAndroid) {
Pointer<Uint8> p = ffi.malloc.allocate(plane0?.length ?? 0);
Uint8List pointerList = p.asTypedList(plane0?.length ?? 0);
pointerList.setRange(0, plane0?.length ?? 0, plane0 ?? Uint8List(0));
Pointer<Uint32> imgP =
_convertImageGrayFlutter(p, width, height, rotationAngle ?? 0.0);
List<int> imgData = imgP.asTypedList(width * height);
imglib.Image img = imglib.Image.fromBytes(height, width, imgData);
ffi.malloc.free(p);
ffi.malloc.free(imgP);
if (rotationAngle != null) {
imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return imgRot;
} else {
return img;
}
} else if (Platform.isIOS) {
imglib.Image img = imglib.Image.fromBytes(
width,
height,
plane0 ?? Uint8List(0),
format: imglib.Format.bgra,
);
if (rotationAngle != null) {
imglib.Image imgRot = imglib.copyRotate(img, rotationAngle);
return imgRot;
} else {
return img;
}
}
return null;
}
}
... ...
name: processing_camera_image
description: A new Flutter project.
version: 0.0.1
homepage:
repository: https://github.com/thuanpham98/processing_camera_image
homepage: https://github.com/thuanpham98/processing_camera_image
environment:
sdk: ">=2.15.1 <3.0.0"
... ...