{"id":26436171,"url":"https://github.com/lumiguide/haskell-opencv","last_synced_at":"2025-04-09T05:11:53.505Z","repository":{"id":47471297,"uuid":"59206189","full_name":"LumiGuide/haskell-opencv","owner":"LumiGuide","description":"Haskell binding to OpenCV-3.x","archived":false,"fork":false,"pushed_at":"2023-09-29T14:27:51.000Z","size":45926,"stargazers_count":155,"open_issues_count":22,"forks_count":44,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-09T05:11:46.230Z","etag":null,"topics":["computer-vision","haskell","image-processing","opencv"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LumiGuide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-19T12:55:02.000Z","updated_at":"2025-01-17T05:27:33.000Z","dependencies_parsed_at":"2022-08-20T22:30:24.491Z","dependency_job_id":null,"html_url":"https://github.com/LumiGuide/haskell-opencv","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiGuide%2Fhaskell-opencv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiGuide%2Fhaskell-opencv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiGuide%2Fhaskell-opencv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiGuide%2Fhaskell-opencv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LumiGuide","download_url":"https://codeload.github.com/LumiGuide/haskell-opencv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980844,"owners_count":21027808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","haskell","image-processing","opencv"],"created_at":"2025-03-18T08:15:17.584Z","updated_at":"2025-04-09T05:11:53.490Z","avatar_url":"https://github.com/LumiGuide.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/LumiGuide/haskell-opencv.svg)](https://travis-ci.org/LumiGuide/haskell-opencv)\n\n[opencv ![Hackage](https://img.shields.io/hackage/v/opencv.svg)](https://hackage.haskell.org/package/opencv)\n\n[opencv-extra ![Hackage](https://img.shields.io/hackage/v/opencv-extra.svg)](https://hackage.haskell.org/package/opencv-extra)\n\nHaskell OpenCV-3.x binding\n==========================\n\n\u003cimg src=\"https://raw.githubusercontent.com/LumiGuide/haskell-opencv/master/data/haskell-opencv-logo-200x82.png\" alt=\"Haskell OpenCV logo\" /\u003e\n\n\nThis is a Haskell library providing a binding to OpenCV \u003e= 3. It binds directly\nwith the C++ API using the\n[inline-c](https://github.com/fpco/inline-c/blob/master/README.md) Haskell\nlibrary.\n\nThe library is far from complete but the framework is there to easily bind\nmissing functionality.\n\nTest Coverage\n-------------\n\n[HPC Coverage Report](http://lumiguide.github.io/haskell-opencv/hpc/hpc_index.html)\n\nExamples\n--------\n\nThe documenation includes example programs that are automatically extracted from\nthe source code and run as part of the test-suite. See the `opencv-doc-images`\ntest-suite. The resulting images are referenced from the Haddock documentation.\n\nInternal modules\n----------------\n\nOpenCV exports a number of modules named OpenCV.Internal. They are\nprovided in case of urgent need for access to the internals, but they\nare not intended to be used by API consumers and if you find yourself\nrepeatedly accessing them this is a sign that either you or OpenCV are\ndoing something wrong. In such a case please file a bug.\n\nThe interface of Internal modules does not follow the PVP and may\nbreak between minor releases, so be careful.\n\nDevelopment using nix\n---------------------\n\nTo get into an environment that contains all the needed dependencies we use Nix.\nThe following commands work both on Linux and OS X:\n\n    curl https://nixos.org/nix/install | sh   # Only execute this if you haven't installed Nix yet.\n    cd opencv[-extra]\n    nix-shell\n\nThen you should be able to use `cabal` as normal.\n\nDevelopment using Stack's Docker integration\n---------------------\n\nEnsure you have followed\n[Stack's prerequisites for Docker integration](https://docs.haskellstack.org/en/stable/docker_integration/#prerequisites).\n\nBuild the image using:\n\n    docker build -t stack-build:lts-10.1-opencv -f Dockerfile.stack-opencv .\n\nUncomment the `docker:` section in `stack.yaml`, and you should be able\nto use `stack` as normal.\n\nContributing\n------------\n\nWe love to get contributions! Please send us your pull requests. Do make sure\nyour PR comes with Haddock documentation and preferably with an example\nprogram. If you include your example program in the following way:\n\n    {- | ...\n\n    Example:\n\n    @\n    myExampleImg :: Mat (ShapeT [200, 300]) ('S 4) ('S Word8)\n    myExampleImg = ...\n    @\n\n    \u003c\u003cdoc/generated/examples/myExampleImg.png myExampleImg\u003e\u003e\n    -}\n\nthen run `cabal test`, now your Haddock documentation will include a nice\npicture with the output of your program. Not only that, but your example program\nwill at the same time function as a test for the function you just documented!\n\nPolicies\n--------\n\nIn haskell-opencv we use the most precise types for integer\narguments. OpenCV uses int which is a 32-bit integer. So in Haskell we\nhave to use Int32 instead of Int for, eg. width and height.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flumiguide%2Fhaskell-opencv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flumiguide%2Fhaskell-opencv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flumiguide%2Fhaskell-opencv/lists"}