Juicy Pixelsライブラリの使用を開始しましたが、分解に問題があります。
タイプがあります:
data DynamicImage =
ImageY8 (Image Pixel8)
| ImageYA8 (Image PixelYA8)
| ImageRGB8 (Image PixelRGB8)
| ImageRGBA8 (Image PixelRGBA8)
| ImageYCbCr8 (Image PixelYCbCr8)
ここで、Pixel*はPixelaクラスのインスタンスです。
Image aタイプで動作する関数がいくつかあり、 DynamicImageからImage aを抽出したいのですが、できません
私が何かをしようとすると
img :: (Pixel a) => DynamicImage -> Image a
img (ImageY8 i) = i
img (ImageYA8 i) = i
img (ImageRGB8 i) = i
img (ImageRGBA8 i) = i
img (ImageYCbCr8 i) = i
インタプリタは次のようなエラーを引き起こします
Couldn't match type `PixelYCbCr8' with `GHC.Word.Word8'
Expected type: Image b
Actual type: Image Pixel8
In the expression: i
In an equation for `img': img (ImageY8 i) = i
画像をデータとして抽出する他の方法はありますか?