gpt4 book ai didi

ios - 从灰色 UIImage 创建灰色 IplImage

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:21 25 4
gpt4 key购买 nike

我正在尝试从灰度级 UIImage 创建灰色 IplImage,我正在使用以下方法。

- (IplImage *)createGrayIplImageFromUIImage:(UIImage *)image {

CGImageRef imageRef = [image CGImage];

CFDataRef dat = CGDataProviderCopyData(CGImageGetDataProvider(imageRef));

const unsigned char *buffer = CFDataGetBytePtr(dat);
IplImage *iplimage = cvCreateImage(cvSize(image.size.width, image.size.height), IPL_DEPTH_8U, 1);
for (int i=0; i<image.size.width*image.size.height; i++) {
iplimage->imageData[i] = buffer[i];
NSLog(@"in creategrayiplimage - %d --- %d",buffer[i], iplimage->imageData[i]);
}
return iplimage;
}

当我在 for 循环中记录数据时,缓冲区具有正确的值 (0-255) 但 iplimage->imageData 甚至其 IPL_DEPTH_8U 也具有带符号的值。

例如

在 creategrayiplimage - 149 --- -107在 creategrayiplimage - 247 --- -9在 creategrayiplimage - 127 --- 127在 creategrayiplimage - 128 --- -128

这似乎是一个小问题,但我被卡住了,我想知道为什么我从 iplimage 中得到负值。提前致谢

最佳答案

一个字节就是一个字节就是一个字节。数据本身并不知道它是有符号的还是无符号的——这完全取决于您如何解释数据。

将您的 NSLog() 语句更改为使用 %u(无符号整数)而不是 %d(有符号整数)作为格式说明符,您的数据将显示为无符号。

关于ios - 从灰色 UIImage 创建灰色 IplImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6236014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com