小编Coo*_*kie的帖子

写numpy ndarray到Image

我正在尝试在Python中读取二进制文件(8位RGB元组),对其进行一些转换然后将其写为png图像.我正在做以下事情:

typeinfo = np.dtype('>i1' ) #read single bytes
data=np.fromfile(("f%05d.txt" %(files[ctr])),dtype=typeinfo)
data=np.reshape(data,[linesperfile,resX,3]) #reshape to size/channels
Run Code Online (Sandbox Code Playgroud)

如果我显示它的类型信息data说:

<type 'numpy.ndarray'>
(512L, 7456L, 3L)
Run Code Online (Sandbox Code Playgroud)

然后我对图像进行一些操作(就地),之后我想将Image写入文件.目前我使用:

import PIL.Image as im
svimg=im.fromarray(data)
svimg.save(("im%05d"%(fileno)),"png")
Run Code Online (Sandbox Code Playgroud)

但它一直给我以下错误:

line 2026, in fromarray
raise TypeError("Cannot handle this data type")
TypeError: Cannot handle this data type
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?

python numpy image python-imaging-library

28
推荐指数
1
解决办法
3万
查看次数

MinGW,链接到 Windows 上的 dll

我正在尝试在示例程序中使用从相机供应商那里收到的库。我有一个 .dll 和一个库的 .lib 文件。我的编译命令是:

g++  -o "Win32App.exe" -L"..\..\SK develop\SK91GigE-WIN\Lib" obj/winmain.o obj/callbacks.o obj/resource.o -s -lcomctl32 -Wl,--subsystem,windows -lSK91GigE_x64
Run Code Online (Sandbox Code Playgroud)

我得到:

obj/winmain.o:winmain.cpp:(.text+0x292): undefined reference to `SK_LOADDLL'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

用 nm 查看 .lib 显示:

BFD: SK91GigE_x64.lib(SK91GigE_x64.dll): Recognised but unhandled machine type (0x8664) in Import Library Format archive 
nm: SK91GigE_x64.dll: File format not recognized
Run Code Online (Sandbox Code Playgroud)

对于 dll,它输出:

nm: SK91GigE_x64.dll: File format not recognized
Run Code Online (Sandbox Code Playgroud)

任何想法如何修改该库以包含它?

c++ windows dll gcc mingw

3
推荐指数
1
解决办法
5256
查看次数

标签 统计

c++ ×1

dll ×1

gcc ×1

image ×1

mingw ×1

numpy ×1

python ×1

python-imaging-library ×1

windows ×1