{"id":15323690,"url":"https://github.com/mvrilo/cam","last_synced_at":"2026-05-02T05:36:25.825Z","repository":{"id":57537789,"uuid":"283490806","full_name":"mvrilo/cam","owner":"mvrilo","description":"cam is a package for Go that provides a high level api (similar to net/http) and a small set of plugins for working with camera frames.","archived":false,"fork":false,"pushed_at":"2020-12-12T10:12:32.000Z","size":180,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-12T17:08:15.666Z","etag":null,"topics":["cam","camera","camera-frames","computer-vision","computervision","go","gocv","golang","opencv","video","webcam"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mvrilo.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":"2020-07-29T12:17:44.000Z","updated_at":"2021-08-03T22:36:32.000Z","dependencies_parsed_at":"2022-09-07T17:34:54.644Z","dependency_job_id":null,"html_url":"https://github.com/mvrilo/cam","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mvrilo/cam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvrilo%2Fcam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvrilo%2Fcam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvrilo%2Fcam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvrilo%2Fcam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvrilo","download_url":"https://codeload.github.com/mvrilo/cam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvrilo%2Fcam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32524561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cam","camera","camera-frames","computer-vision","computervision","go","gocv","golang","opencv","video","webcam"],"created_at":"2024-10-01T09:21:04.472Z","updated_at":"2026-05-02T05:36:25.800Z","avatar_url":"https://github.com/mvrilo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cam\n\n[![GoDoc](https://godoc.org/github.com/mvrilo/cam?status.svg)](https://godoc.org/github.com/mvrilo/cam)\n[![Go Report Card](https://goreportcard.com/badge/github.com/mvrilo/cam)](https://goreportcard.com/report/github.com/mvrilo/cam)\n\n`cam` is a package for Go that provides a high level api (similar to `net/http`) and a small set of plugins for working with camera frames. For the device communication, implementing the `Device interface`, we use [GoCV](https://gocv.io/) and [OpenCV](https://opencv.org/), more can be easily added. Contributions are welcomed.\n\n## Dependencies\n\n- For the `gocv` device implementation you will only need [OpenCV](https://docs.opencv.org/4.4.0/) installed. You can see instructions for installation on [the opencv docs](https://docs.opencv.org/4.4.0/df/d65/tutorial_table_of_content_introduction.html) and [in the GoCV page](https://gocv.io/getting-started/).\n\n## Installation\n\n```\ngo get github.com/mvrilo/cam\n```\n\n## Example\n\n```go\npackage main\n\nimport (\n\t\"image\"\n\t\"image/color\"\n\t\"log\"\n\n\t\"github.com/mvrilo/cam\"\n\t\"github.com/mvrilo/cam/middlewares/pixelize\"\n\t\"github.com/mvrilo/cam/middlewares/window\"\n\t\"gocv.io/x/gocv\"\n\n\t_ \"github.com/mvrilo/cam/gocv\"\n)\n\nfunc main() {\n\tcam.Use(pixelize.New(32))\n\tcam.Handle(func(f cam.Frame) {\n\t\ttext := \"hello world\"\n\t\tblue := color.RGBA{0, 0, 255, 0}\n\t\tdata, ok := f.Data().(gocv.Mat)\n\t\tif !ok {\n\t\t\treturn\n\t\t}\n\t\tgocv.PutText(\u0026data, text, image.Pt(200, 200), gocv.FontHersheyPlain, 10, blue, 8)\n\t})\n\tcam.Use(window.New(\"cam example\"))\n\tlog.Fatal(cam.ListenAndServe(0, nil))\n}\n```\n\n![hello world](assets/example.png)\n\n## Author\n\nMurilo Santana \u003c\u003cmvrilo@gmail.com\u003e\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvrilo%2Fcam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvrilo%2Fcam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvrilo%2Fcam/lists"}