{"id":19484976,"url":"https://github.com/opencog/vision","last_synced_at":"2026-03-07T10:31:50.424Z","repository":{"id":46409428,"uuid":"408649523","full_name":"opencog/vision","owner":"opencog","description":"Atomese wrappers around a subset of OpenCV","archived":false,"fork":false,"pushed_at":"2025-06-11T01:54:45.000Z","size":195,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-27T05:03:02.465Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opencog.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-21T01:12:20.000Z","updated_at":"2025-06-11T01:54:49.000Z","dependencies_parsed_at":"2025-04-25T16:34:24.368Z","dependency_job_id":null,"html_url":"https://github.com/opencog/vision","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opencog/vision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fvision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fvision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fvision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fvision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencog","download_url":"https://codeload.github.com/opencog/vision/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencog%2Fvision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30212049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-10T20:24:57.798Z","updated_at":"2026-03-07T10:31:50.380Z","avatar_url":"https://github.com/opencog.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AtomSpace Computer Vision Types\n\u003e Atomese wrappers around a subset of OpenCV\n\nThe general idea is that the `ImageValue`s will hold a handle to the\nimage being processed, and the `ImageBlurLink`, and other things of that\nkind specify the kinds of transformations to be applied to the image.\nThe actual images are never in the AtomSpace, only the abstract\nprocessing tree, and a way of hooking that tree to the image(s) to be\nprocessed.\n\n## Status\n- It is possible to read an image from a file using `ImageNode`, its name corresponds to the image file location.\n- There are a few OpenCV operations that you can invoke both on image Nodes and Values. They return `ImageValue`s. Look down for usage info in Scheme.\n- Saving images supported with `ImageWriteLink`.\n\n## Building\n### Dependencies\n- CMake (build dependency)\n- OpenCV (`libopencv-dev` package on Debian-derived Linux distributions)\n- AtomSpace\n\n### Commands\nThe basic command is just CMake:\n```\ncmake -B build/ -S .\n```\n\nThen `cmake --build build` and `sudo cmake --install build`\n\nIf you have VCPkg and / or you want to use something like clangd that requires `compile_commands.json`, there is the `configure.sh` script that runs a slightly extended version of the above command (export `VCPKG_ROOT` with the path to your VCPkg).\n\n## Library Usage\n### CMake\n- `find_package` library name: `AtomSpaceVision`.\n- Target to link with: `AtomSpace::Vision`.\n\n### Types Usage\nFor Scheme users:\n- `(Image \"\u003cfile-path\u003e\")` opens an image from a given file.\n- `(ImageBlur \u003cImage or ValueOf\u003e (Number \u003ckernel size\u003e))` to setup a `cv::blur` operation.\n- `(ImageWrite \u003cImage or ValueOf\u003e \u003cConcept or ValueOf\u003e)` writes an image to a given location.\n- `(ImageHalfSize \u003cImage or ValueOf\u003e)` to setup a `cv::pyrDown` operation.\n- `(ImageFilter2D \u003cImage or ValueOf\u003e (Number \u003cddepth\u003e) \u003cImage or ValueOf\u003e:kernel)` to setup a `cv::filter2D` operation.\n\n## More plans and ideas\nOther required and optional `ImageFilterLink`s. These are described at https://docs.opencv.org/4.5.3/d4/d86/group__imgproc__filter.html\n\n  + display to screen for debugging.\n    So, `ImageDisplayLink`.\n\n  + thresholding, convert to greyscale, convert to binary b/w.\n\n  + `ImageRectangleLink` - this needs to be a white rectangle on a black\nbackground, with a given width, height, postion. To be used with the\nabove to select regions (but `Rect` is a separate type in OpenCV that is used by other procedures for selecting ROI,\nis this necessary as a Link then?).\n\n  + `HaarWaveletLink` - we want to search for features in a\nposition-independent, scale-independent way. We need a good API for\nthat. Not at all clear what a good API for that might be ... Really,\nwe want something affine... Maybe this: http://wavelet2d.sourceforge.net/\n\n  + `erode()` ... maybe useful later??\n\n  + Extract hue, saturation, value, extract red, green blue channels. How\nto do this in opencv ??\n\n  + Maybe a circle or ellipse? to answer yes/no to circular feature\n    questions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencog%2Fvision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencog%2Fvision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencog%2Fvision/lists"}