|
图像处理,在img_process函数外分配堆内存对读取到的图片像素进行存储,内存地址作为指针传入函数,图片处理完成后,再在img_process函数外进行内存释放。
void img_process_main(char* src_path, int src_height, int src_width)
{
uint8* y_in = (uint8*)malloc(src_height*src_width*sizeof(uint8));
//读取图像bin文件,写入y_in
FILE* in = fopen(src_path,"rb");
fread((void*)y_in, sizeof(uint8), src_height*src_width, in);
fclose(in);
img_process(y_in, src_height, src_width);
free(y_in);
}这样做发现了2个问题,第一个是当数据读取到一半,手动暂停读取,然后再恢复读取,数据会读取失败。第二个是python和c进行混编的时候,内存不能释放。针对这2个问题,有什么比较好的解决办法吗? |
|