gpt4 book ai didi

image - Opencv cvSaveImage

转载 作者:行者123 更新时间:2023-12-02 16:41:56 25 4
gpt4 key购买 nike

我正在尝试使用 opencv cvSaveImage 函数保存图像。问题是我正在对图像执行 DCT,然后更改执行 DCT 后获得的系数,之后我正在执行逆 DCT 以取回像素值。但是这次我得到了十进制的像素值(例如 254.34576)。因此,当我使用 cvSaveImage 函数保存它时,它会丢弃小数点后的所有值(例如,将 254.34576 保存为 254)并保存图像。因此,我的结果受到影响。请帮忙

最佳答案

“函数 cvSaveImage 将图像保存到指定的文件。图像格式根据文件扩展名选择,请参见 cvLoadImage。只能使用 8 位单 channel 或 3 channel (具有 'BGR' channel 顺序)图像保存这个函数。如果格式、深度或 channel 顺序不同,保存前使用cvCvtScale和cvCvtColor转换,或使用通用cvSave将图像保存为XML或YAML格式。

我建议调查 cvSave 功能。

但是,更简单的方法是编写自己的保存/加载函数,这将非常简单:

f = fopen("image.dat","wb");
fprintf(f,"%d%d",width,height);
for (y=0 to height)
for (x=0 to width)
fprintf(f,"%f",pixelAt(x,y));

并有相应的镜像功能供阅读。

附言清晨,如果 fprintf 使用二进制文件,我一生都记不起来了。但你明白了。您可以改用 fwrite() 。

关于image - Opencv cvSaveImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980232/

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