OCaml使用JPEG

时间:2015-04-04 08:52:00

标签: ocaml 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;

我尝试了库中的所有功能,但找不到解决方案。

1 个答案:

答案 0 :(得分:3)

Jpeg.load返回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"