OCaml 与 JPEG 一起工作
OCaml work with JPEG
使用 CamlImages,如何找到坐标 XY 中的点的颜色
let () =
let name = "test.jpg" in
let image = Jpeg.load name [] in
图像的类型为 Images.t
但有趣 Rgb24.get 需要类型 Rgb24.t
(* get color from coords XY *)
let x = 1 and y = 1 in
let rgb = Rgb24.get image x y in
print_int rgb.r;
我尝试了库中的所有函数,但没有找到解决方案。
Jpeg.load
returns Images.t
其定义为:
type t =
| Index8 of Index8.t
| Rgb24 of Rgb24.t
| Index16 of Index16.t
| Rgba32 of Rgba32.t
| Cmyk32 of Cmyk32.t;;
您只需要对 Jpeg.load
的结果进行模式匹配并得到 Rgb24.t
:
let rgb24 = match Jpeg.load name [] with
| Rgb24 x -> x
| _ -> failwith "image must be rgb24"
使用 CamlImages,如何找到坐标 XY 中的点的颜色
let () =
let name = "test.jpg" in
let image = Jpeg.load name [] in
图像的类型为 Images.t
但有趣 Rgb24.get 需要类型 Rgb24.t
(* get color from coords XY *)
let x = 1 and y = 1 in
let rgb = Rgb24.get image x y in
print_int rgb.r;
我尝试了库中的所有函数,但没有找到解决方案。
Jpeg.load
returns Images.t
其定义为:
type t =
| Index8 of Index8.t
| Rgb24 of Rgb24.t
| Index16 of Index16.t
| Rgba32 of Rgba32.t
| Cmyk32 of Cmyk32.t;;
您只需要对 Jpeg.load
的结果进行模式匹配并得到 Rgb24.t
:
let rgb24 = match Jpeg.load name [] with
| Rgb24 x -> x
| _ -> failwith "image must be rgb24"