From 4a52438fe8f89a54e487cd9a508410ae1efca7eb Mon Sep 17 00:00:00 2001 From: purewind7 <757419920@qq.com> Date: Wed, 13 Jul 2022 16:34:22 +0800 Subject: [PATCH] fix overflow issue and simplification code --- .../pikascript/pikascript-lib/PikaCV/PikaCV_Converter.c | 4 ++-- port/linux/test/PikaCV-test.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/port/linux/package/pikascript/pikascript-lib/PikaCV/PikaCV_Converter.c b/port/linux/package/pikascript/pikascript-lib/PikaCV/PikaCV_Converter.c index e857cd05c..3053d99ec 100644 --- a/port/linux/package/pikascript/pikascript-lib/PikaCV/PikaCV_Converter.c +++ b/port/linux/package/pikascript/pikascript-lib/PikaCV/PikaCV_Converter.c @@ -175,13 +175,13 @@ void PikaCV_Converter_toGray(PikaObj* self, PikaObj* image) { uint8_t* data_new = arg_getBytes(arg_data_new); if (img->format == PikaCV_ImageFormat_Type_RGB888) { for (int i = 0; i < size_new; i++) { - data_new[i] = (data[i * 3] + data[i * 3 + 1] + data[i * 3 + 2]) / 3; + data_new[i] = (uint16_t)(data[i * 3] + data[i * 3 + 1] + data[i * 3 + 2]) / 3; } goto exit; } if (img->format == PikaCV_ImageFormat_Type_RGB565) { for (int i = 0; i < size_new; i++) { - data_new[i] = (data[i * 2] + data[i * 2 + 1]) / 2; + data_new[i] = (uint16_t)(data[i * 2] + data[i * 2 + 1]) >> 1; } goto exit; } diff --git a/port/linux/test/PikaCV-test.cpp b/port/linux/test/PikaCV-test.cpp index 39a14fb9b..3bf47ab98 100644 --- a/port/linux/test/PikaCV-test.cpp +++ b/port/linux/test/PikaCV-test.cpp @@ -6,7 +6,7 @@ TEST(PikaCV, test1) { PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain); /* run */ __platform_printf("BEGIN\r\n"); - pikaVM_runSingleFile(pikaMain, "../../examples/PikaCV/test1.py"); + pikaVM_runSingleFile(pikaMain, "test/python/PikaCV_test1.py"); /* collect */ /* assert */ /* deinit */