{"id":"https://openalex.org/W2016934288","doi":"https://doi.org/10.1109/ivcnz.2013.6727013","title":"A machine vision extension to the Ruby programming language using OpenCV and FFI","display_name":"A machine vision extension to the Ruby programming language using OpenCV and FFI","publication_year":2013,"publication_date":"2013-11-01","ids":{"openalex":"https://openalex.org/W2016934288","doi":"https://doi.org/10.1109/ivcnz.2013.6727013","mag":"2016934288"},"language":"en","primary_location":{"id":"doi:10.1109/ivcnz.2013.6727013","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ivcnz.2013.6727013","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2013 28th International Conference on Image and Vision Computing New Zealand (IVCNZ 2013)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038179735","display_name":"Aaron Marburg","orcid":"https://orcid.org/0000-0001-7797-7379"},"institutions":[{"id":"https://openalex.org/I185492890","display_name":"University of Canterbury","ror":"https://ror.org/03y7q9t39","country_code":"NZ","type":"education","lineage":["https://openalex.org/I185492890"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Aaron Marburg","raw_affiliation_strings":["Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","institution_ids":["https://openalex.org/I185492890"]},{"raw_affiliation_string":"Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#","institution_ids":["https://openalex.org/I185492890"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048027374","display_name":"Michael Hayes","orcid":"https://orcid.org/0000-0002-6712-9509"},"institutions":[{"id":"https://openalex.org/I185492890","display_name":"University of Canterbury","ror":"https://ror.org/03y7q9t39","country_code":"NZ","type":"education","lineage":["https://openalex.org/I185492890"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Michael P. Hayes","raw_affiliation_strings":["Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","institution_ids":["https://openalex.org/I185492890"]},{"raw_affiliation_string":"Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#","institution_ids":["https://openalex.org/I185492890"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5036525304","display_name":"Andrew Bainbridge-Smith","orcid":"https://orcid.org/0000-0002-5680-1478"},"institutions":[{"id":"https://openalex.org/I185492890","display_name":"University of Canterbury","ror":"https://ror.org/03y7q9t39","country_code":"NZ","type":"education","lineage":["https://openalex.org/I185492890"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Andrew Bainbridge-Smith","raw_affiliation_strings":["Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand","institution_ids":["https://openalex.org/I185492890"]},{"raw_affiliation_string":"Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand#TAB#","institution_ids":["https://openalex.org/I185492890"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.09055247,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"1","issue":null,"first_page":"184","last_page":"189"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10531","display_name":"Advanced Vision and Imaging","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10531","display_name":"Advanced Vision and Imaging","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11992","display_name":"CCD and CMOS Imaging Sensors","score":0.9933000206947327,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13114","display_name":"Image Processing Techniques and Applications","score":0.9857000112533569,"subfield":{"id":"https://openalex.org/subfields/2214","display_name":"Media Technology"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.801038920879364},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.6275804042816162},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.5498374700546265},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4834516942501068},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.4571227729320526},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4554064869880676},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44359853863716125},{"id":"https://openalex.org/keywords/application-programming-interface","display_name":"Application programming interface","score":0.4417017102241516},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39726412296295166},{"id":"https://openalex.org/keywords/computer-vision","display_name":"Computer vision","score":0.3400197923183441},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2012256383895874}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.801038920879364},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.6275804042816162},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.5498374700546265},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4834516942501068},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.4571227729320526},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4554064869880676},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44359853863716125},{"id":"https://openalex.org/C99613125","wikidata":"https://www.wikidata.org/wiki/Q165194","display_name":"Application programming interface","level":2,"score":0.4417017102241516},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39726412296295166},{"id":"https://openalex.org/C31972630","wikidata":"https://www.wikidata.org/wiki/Q844240","display_name":"Computer vision","level":1,"score":0.3400197923183441},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2012256383895874},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/ivcnz.2013.6727013","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ivcnz.2013.6727013","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2013 28th International Conference on Image and Vision Computing New Zealand (IVCNZ 2013)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.4399999976158142,"display_name":"Partnerships for the goals","id":"https://metadata.un.org/sdg/17"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W97351935","https://openalex.org/W646176292","https://openalex.org/W1850161191","https://openalex.org/W1987427622","https://openalex.org/W1998494120","https://openalex.org/W2047804403","https://openalex.org/W2102182691","https://openalex.org/W2105248842","https://openalex.org/W2110001365","https://openalex.org/W2110114082","https://openalex.org/W2114095200","https://openalex.org/W2137659841","https://openalex.org/W2157355837","https://openalex.org/W2160482363","https://openalex.org/W2167328451","https://openalex.org/W2170282673","https://openalex.org/W2307781103","https://openalex.org/W2536680313","https://openalex.org/W6698415692"],"related_works":["https://openalex.org/W2046765700","https://openalex.org/W4384345686","https://openalex.org/W2075768550","https://openalex.org/W3022218857","https://openalex.org/W2357937784","https://openalex.org/W2547618384","https://openalex.org/W4394391052","https://openalex.org/W2145834781","https://openalex.org/W2577782152","https://openalex.org/W262455470"],"abstract_inverted_index":{"This":[0],"paper":[1],"introduces":[2],"the":[3,13,19,25,37,58,73,87,93,105],"OpenCV-FFI":[4,23,62],"software":[5],"package,":[6],"which":[7,35],"exposes":[8],"datatypes":[9],"and":[10,54,90],"functions":[11],"from":[12],"OpenCV":[14,38,65],"computer":[15],"vision":[16],"library":[17,100],"into":[18],"Ruby":[20,33,79],"programming":[21],"language.":[22],"uses":[24],"foreign":[26],"function":[27],"interface":[28],"(FFI)":[29],"to":[30],"produce":[31],"a":[32,84,97],"API":[34],"mirrors":[36],"C":[39],"API;":[40],"further":[41],"layers":[42],"of":[43,60,75,78,86,92,107],"complexity":[44],"are":[45],"then":[46],"built":[47],"on":[48],"that":[49],"core":[50],"API.":[51],"Example":[52],"code":[53,66],"benchmarking":[55],"results":[56],"show":[57],"effectiveness":[59],"using":[61],"for":[63],"scripting":[64],"within":[67],"Ruby,":[68],"as":[69,71],"well":[70],"demonstrating":[72],"pitfalls":[74],"incautious":[76],"use":[77,106],"iteration.":[80],"Finally,":[81],"there":[82],"is":[83],"discussion":[85],"relative":[88],"advantages":[89],"disadvantages":[91],"FFI-based":[94],"approach":[95],"versus":[96],"bespoke":[98],"extension":[99],"written":[101],"in":[102],"Ruby-C":[103],"or":[104],"an":[108],"automatic":[109],"wrapper":[110],"generation":[111],"packages":[112],"(e.g.,":[113],"SWIG).":[114]},"counts_by_year":[{"year":2021,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
