Я пытаюсь использовать сборку .NET в приложении Python с использованием Python.NET. Код C # захватывает изображение, которое я хочу использовать с Python. Допустим, у меня есть следующий C # func:
public byte[] GetLabelImage()
{
byte[] labelData = this.m_MdsFile.GetLabelData();
if (labelData != null)
{
return labelData;
}
string path = Path.Combine(this.m_NameInfo.SlideDirName, "label.jpg");
if (!File.Exists(path))
{
return null;
}
return File.ReadAllBytes(path);
}
Когда я использую Python.Net в python, я делаю следующее:
import clr
import sys
from PIL import Image
import io
import matplotlib.pyplot as plt
b = clr.AddReference("Motic.DigitalSlide")
from Motic.DigitalSlide import *
obj = DigitalSlideFile("./123.mds")
a = obj.GetLabelImage()
print(a)
y=Image.open(io.BytesIO(a))
plt.figure("Image")
plt.imshow(y)
plt.axis('off')
plt.show()
exit()
, но это дает мне вывод:
C:\Users\sk\Desktop\mds\bin\Motic\x86>python mds.py
System.Byte[]
Traceback (most recent call last):
File "mds.py", line 18, in <module>
y=Image.open(io.BytesIO(a))
TypeError: a bytes-like object is required, not 'Byte[]'
C:\Users\sk\Desktop\mds\bin\Motic\x86>