คำถามติดแท็ก opencv

OpenCV (Open Source Computer Vision) เป็นห้องสมุดสำหรับการมองเห็นคอมพิวเตอร์แบบเรียลไทม์ เมื่อใช้แท็กนี้โปรดพูดถึงรุ่น OpenCV ที่คุณใช้งาน (เช่น 3.4.6) และเพิ่มแท็กเฉพาะภาษา (python, c ++, ... ) หากจำเป็น

2
Augmented Reality SDK พร้อม OpenCV [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันกำลังพัฒนา Augmented Reality SDK บน OpenCV ฉันมีปัญหาในการค้นหาแบบฝึกหัดในหัวข้อขั้นตอนที่ต้องปฏิบัติตามอัลกอริทึมที่เป็นไปได้การเข้ารหัสที่รวดเร็วและมีประสิทธิภาพเพื่อประสิทธิภาพแบบเรียลไทม์เป็นต้น จนถึงตอนนี้ฉันได้รวบรวมข้อมูลถัดไปและลิงค์ที่เป็นประโยชน์ การติดตั้ง OpenCV ดาวน์โหลดรุ่นล่าสุด คุณสามารถดูคู่มือการติดตั้งได้ที่นี่ (แพลตฟอร์ม: linux, mac, windows, java, android, iOS) ออนไลน์เอกสาร เพิ่มความเป็นจริง สำหรับผู้ขอทานนี่คือรหัสเติมความเป็นจริงง่ายๆใน OpenCV ถือเป็นการเริ่มต้นที่ดี สำหรับใครก็ตามที่ค้นหา SDK ที่ล้ำสมัยที่ออกแบบมาอย่างดีฉันพบขั้นตอนทั่วไปบางอย่างที่ทุกความเป็นจริงที่เพิ่มขึ้นตามการติดตามเครื่องหมายควรมีโดยพิจารณาจากฟังก์ชัน OpenCV โปรแกรมหลัก: สร้างคลาสทั้งหมดการเริ่มต้นจับภาพเฟรมจากวิดีโอ คลาส AR_Engine: ควบคุมส่วนต่างๆของแอปพลิเคชันความเป็นจริงเสริม ควรมี 2 สถานะหลัก: การตรวจจับ : พยายามตรวจจับเครื่องหมายในฉาก การติดตาม : เมื่อตรวจพบแล้วให้ใช้เทคนิคการคำนวณที่ต่ำกว่าสำหรับการติดตามเครื่องหมายในเฟรมที่กำลังจะมาถึง …

8
ฉันจะเพิ่มมิติข้อมูลใหม่ให้กับอาร์เรย์ Numpy ได้อย่างไร
ฉันเริ่มต้นด้วยอาร์เรย์จำนวนนับของรูปภาพ In[1]:img = cv2.imread('test.jpg') รูปร่างคือสิ่งที่คุณคาดหวังสำหรับภาพ RGB ขนาด 640x480 In[2]:img.shape Out[2]: (480, 640, 3) อย่างไรก็ตามภาพที่ฉันมีคือเฟรมวิดีโอซึ่งมีความยาว 100 เฟรม จะเป็นการดีที่ฉันต้องการจะมีอาร์เรย์เดียวที่มีข้อมูลทั้งหมดจากวิดีโอนี้ดังกล่าวว่าผลตอบแทนimg.shape(480, 640, 3, 100) วิธีใดที่ดีที่สุดในการเพิ่มเฟรมถัดไปนั่นคือข้อมูลรูปภาพชุดถัดไปอาร์เรย์ 480 x 640 x 3 อีกชุดในอาร์เรย์เริ่มต้นของฉัน
94 python  arrays  opencv  numpy 

2
ฉันควรใช้ libc ++ หรือ libstdc ++? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังพัฒนาไฟล์ปฏิบัติการอินเตอร์เฟสบรรทัดคำสั่งสำหรับทั้ง osx และ linux โดยใช้ c / c ++ โครงการจะเชื่อมโยงกับ opencv ฉันควรใช้ libc ++ หรือ libstdc ++?

17
ข้อผิดพลาด cv เปิด: (-215) scn == 3 || scn == 4 ในฟังก์ชัน cvtColor
ตอนนี้ฉันใช้ Ubuntu 14.04 โดยใช้ python 2.7 และ cv2 เมื่อฉันเรียกใช้รหัสนี้: import numpy as np import cv2 img = cv2.imread('2015-05-27-191152.jpg',0) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) มันกลับมา: File "face_detection.py", line 11, in <module> gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.error: /home/arthurckl/Desktop/opencv-3.0.0-rc1/modules/imgproc/src/color.cpp:7564: error: (-215) scn == 3 || scn == 4 in function cvtColor ฉันค้นหาที่นี่แล้วและมีคำตอบหนึ่งบอกว่าฉันอาจโหลดรูปภาพผิดวิธีเนื่องจากควรมี 3 มิติ: …
92 python  opencv  photo 

1
อินเตอร์เฟส OpenCV Python ทั้งหมดนี้แตกต่างกันอย่างไร
มี opencv (ห้องสมุดจากพวก OpenCV) cv (ไลบรารีเก่าจากพวก OpenCV) และ pyopencvctypes-opencvกับบรรพบุรุษของมัน อะไรคือความแตกต่างที่สำคัญและฉันควรใช้อันไหน?
88 python  opencv 

5
การตั้งค่าพารามิเตอร์กล้องใน OpenCV / Python
ฉันใช้ OpenCV (2.4) และ Python (2.7.3) กับกล้อง USB จาก Thorlabs (DC1545M) ฉันกำลังทำการวิเคราะห์รูปภาพในสตรีมวิดีโอและฉันต้องการที่จะเปลี่ยนพารามิเตอร์กล้องบางตัวจากสตรีมวิดีโอของฉัน สิ่งที่สับสนคือฉันสามารถเปลี่ยนคุณสมบัติบางอย่างของกล้องได้ แต่ไม่ใช่ทั้งหมดและฉันไม่แน่ใจว่าตัวเองทำอะไรผิด นี่คือรหัสโดยใช้การผูก cv2 ใน Python และฉันสามารถยืนยันได้ว่ามันทำงาน: import cv2 #capture from camera at location 0 cap = cv2.VideoCapture(0) #set the width and height, and UNSUCCESSFULLY set the exposure time cap.set(3,1280) cap.set(4,1024) cap.set(15, 0.1) while True: ret, img = …

20
การติดตั้ง OpenCV สำหรับ Python บน Ubuntu รับ ImportError: ไม่มีโมดูลชื่อ cv2.cv
ฉันมีระบบ Ubuntu 14.04 ซึ่งฉันต้องการติดตั้ง OpenCV และใช้กับ Python 2.x ฉันติดตั้ง OpenCV โดยใช้คำแนะนำที่นี่: https://help.ubuntu.com/community/OpenCV ดูเหมือนว่าการติดตั้งจะทำงานได้อย่างถูกต้องไม่มีข้อผิดพลาดสคริปต์จบลงด้วยเอาต์พุต OpenCV 2.4.9 ready to be used เมื่อฉันพยายามเรียกใช้สคริปต์ Python ตัวอย่างฉันจะได้รับสิ่งต่อไปนี้: $ python opencv.py Traceback (most recent call last): File "opencv.py", line 1, in <module> from cv2.cv import * ImportError: No module named cv2.cv ฉันสงสัยว่าฉันรู้ว่าทำไมฉันไม่รู้วิธีแก้ไข OpenCV ติดตั้งในไดเร็กทอรีปัจจุบันที่ฉันอยู่เมื่อฉันรันสคริปต์การติดตั้งซึ่งเป็นไดเร็กทอรีย่อยของโฮมโฟลเดอร์ คนอื่น ๆ …

2
Python ผลการเปลี่ยนแปลงในระหว่างการคำนวณ cv2.Rodrigues
ถ้าฉันวิ่ง: import numpy as np import cv2 def changes(): rmat=np.eye(4) tvec=np.zeros(3) (rvec, jacobian)=cv2.Rodrigues(rmat) print rvec for i in range(2): changes() ฉันเข้าใจ: [[6.92798859e-310] [2.19380404e-316] [1.58101007e-322]] [[0.] [0.] [0.]] ดังนั้นผลลัพธ์จากchanges()การเปลี่ยนแปลง ฉันไม่เข้าใจว่าทำไมถึงเป็นเช่นนั้นและความจริงที่ว่ามันหยุดการเปลี่ยนแปลงหากtvec=np.zeros(3)มีการใส่ความคิดเห็นลงใน บรรทัดทำให้ฉันรู้สึกว่านี่เป็นข้อผิดพลาดในระบบ

3
วิธีรับเซลล์ของตารางซูโดกุด้วย OpenCV
ฉันพยายามในช่วงสองสามวันที่ผ่านมาเพื่อให้ได้ซูโดกุกริดจากรูปภาพและฉันก็พยายามดิ้นรนเพื่อให้ได้สี่เหลี่ยมเล็ก ๆ ของกริด ฉันกำลังทำงานกับภาพด้านล่าง ฉันคิดว่าการประมวลผลภาพด้วยฟิลเตอร์แสนหวานจะทำงานได้ดี แต่มันไม่ได้และฉันไม่สามารถรับรูปร่างของแต่ละตารางได้ จากนั้นฉันก็วางเกณฑ์การปรับตัว otsu และ thresholding แบบคลาสสิกให้กับการทดสอบ แต่ทุกครั้งมันก็ดูเหมือนจะไม่สามารถจับทุกสี่เหลี่ยมเล็ก ๆ ได้ เป้าหมายสุดท้ายคือการได้รับเซลล์ที่มีตัวเลขและรับรู้ตัวเลขด้วย pytorch ดังนั้นฉันอยากได้ภาพที่สะอาดของตัวเลขดังนั้นการรู้จำจึงไม่ผิด :) ใครบ้างมีความคิดในการบรรลุนี้ ขอบคุณมากในล่วงหน้า! : D

1
คุณสามารถใช้ OpenCV แก้ปัญหาPNPกับรูปสามเหลี่ยมได้หรือไม่?
เป็นไปได้หรือไม่ที่จะใช้PNPNของ OpenCV กับรูปequirectangular ? ฉันมีรูปสามเหลี่ยมและฉันมีสี่จุดในภาพนี้ (จุดสีแดง) และพิกัดพิกเซลของพวกเขาและจากนั้นฉันมีจุดโลกที่สอดคล้องกัน 4 จุดเช่น[(0, 0, 0), (2, 0, 0), (2, 10, 0), (0, 10, 0)]ฉันจะประเมินตำแหน่งของกล้องได้อย่างไร ฉันลองใช้ OpenCV solvePnpแต่คาดว่าอินทรินเซียสำหรับกล้องรุ่น Brown จะไม่ทำงาน สิ่งนี้สามารถทำได้สำหรับกล้องทรงกลมหรือไม่?

2
ตรวจจับหลายสี่เหลี่ยมในภาพ
ฉันพยายามตรวจจับจำนวนท่อในภาพนี้ สำหรับสิ่งนี้ฉันใช้การตรวจจับที่ใช้ OpenCV และ Python จากคำตอบที่มีอยู่สำหรับคำถามที่คล้ายกันฉันสามารถทำตามขั้นตอนต่อไปนี้ เปิดภาพ กรองมัน ใช้การตรวจจับขอบ ใช้รูปทรง ตรวจสอบการนับ จำนวนท่อทั้งหมดคือ~ 909เมื่อเรานับให้ด้วยตนเองหรือรับ 4 หลังจากใช้ตัวกรอง import cv2 import matplotlib.pyplot as plt import numpy as np img = cv2.imread('images/input-rectpipe-1.jpg') blur_hor = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((11,1,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) blur_vert = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((1,11,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) mask = ((img[:,:,0]>blur_hor*1.2) | …

3
Open จดจำใบหน้า CV ไม่ถูกต้อง
ในแอพของฉันฉันกำลังพยายามจดจำใบหน้าในภาพที่ระบุโดยใช้ Open CV นี่เป็นครั้งแรกที่ฉันทำการฝึกอบรมหนึ่งภาพแล้วหลังจากการฝึกอบรมภาพนั้นถ้าฉันเรียกใช้การจดจำใบหน้าในภาพนั้นจะจดจำใบหน้านั้นได้สำเร็จ อย่างไรก็ตามเมื่อฉันหันไปใช้รูปภาพอื่นของการจดจำบุคคลเดียวกันไม่ทำงาน มันใช้งานได้กับภาพลักษณ์ที่ผ่านการฝึกอบรมดังนั้นคำถามของฉันคือฉันจะแก้ไขได้อย่างไร? อัปเดต: สิ่งที่ฉันต้องการทำคือผู้ใช้ควรเลือกภาพของบุคคลจากที่เก็บข้อมูลและหลังจากการฝึกอบรมแล้วภาพที่เลือกฉันต้องการดึงภาพทั้งหมดจากที่เก็บซึ่งตรงกับรูปหน้าของภาพที่ฉันฝึก นี่คือคลาสกิจกรรมของฉัน: public class MainActivity extends AppCompatActivity { private Mat rgba,gray; private CascadeClassifier classifier; private MatOfRect faces; private ArrayList<Mat> images; private ArrayList<String> imagesLabels; private Storage local; ImageView mimage; Button prev,next; ArrayList<Integer> imgs; private int label[] = new int[1]; private double predict[] = new …

3
การใช้ YOLO หรือเทคนิคการจดจำภาพอื่น ๆ เพื่อระบุข้อความตัวอักษรและตัวเลขทั้งหมดที่ปรากฏในภาพ
ฉันมีแผนภาพรูปภาพหลายภาพซึ่งทั้งหมดมีป้ายกำกับเป็นตัวอักษรและตัวเลขแทนที่จะเป็นเพียงป้ายข้อความเท่านั้น ฉันต้องการให้แบบจำลอง YOLO ของฉันเพื่อระบุตัวเลขและตัวอักษรและตัวเลขทั้งหมดที่มีอยู่ในนั้น ฉันจะฝึกโมเดล YOLO ของฉันให้ทำเช่นเดียวกันได้อย่างไร ชุดข้อมูลสามารถพบได้ที่นี่ https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi ตัวอย่างเช่น: ดูกล่อง จำกัด ฉันต้องการให้ YOLO ตรวจพบทุกที่ที่มีข้อความ อย่างไรก็ตามในปัจจุบันไม่จำเป็นต้องระบุข้อความภายใน นอกจากนี้ยังจำเป็นต้องทำสิ่งเดียวกันสำหรับรูปภาพประเภทนี้ สามารถดาวน์โหลดภาพได้ที่นี่ นี่คือสิ่งที่ฉันได้ลองใช้โดยใช้ opencv แต่มันใช้ไม่ได้กับภาพทั้งหมดในชุดข้อมูล import cv2 import numpy as np import pytesseract pytesseract.pytesseract.tesseract_cmd = r"C:\Users\HPO2KOR\AppData\Local\Tesseract-OCR\tesseract.exe" image = cv2.imread(r'C:\Users\HPO2KOR\Desktop\Work\venv\Patent\PARTICULATE DETECTOR\PD4.png') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] clean = …

4
จะปรับปรุงการจดจำตัวเลขของแบบจำลองที่ได้รับการฝึกฝนเกี่ยวกับ MNIST ได้อย่างไร?
ฉันทำงานเกี่ยวกับการรับรู้ด้วยตัวเลขหลายหลักด้วยมือJavaโดยใช้OpenCVห้องสมุดสำหรับการประมวลผลล่วงหน้าและการแบ่งส่วนและKerasรูปแบบการฝึกอบรมเกี่ยวกับ MNIST (ด้วยความแม่นยำ 0.98) สำหรับการรับรู้ การรับรู้ดูเหมือนจะทำงานได้ค่อนข้างดีนอกเหนือจากสิ่งหนึ่ง เครือข่ายค่อนข้างบ่อยครั้งที่จะจำสิ่งที่ไม่ได้ (หมายเลข "หนึ่ง") ฉันไม่สามารถทราบได้ว่าเกิดขึ้นเนื่องจากการดำเนินการแบ่งเซกเมนต์ล่วงหน้า / ไม่ถูกต้องหรือหากเครือข่ายที่ได้รับการฝึกอบรมเกี่ยวกับ MNIST มาตรฐานเพิ่งไม่เห็นหมายเลขหนึ่งซึ่งดูเหมือนว่ากรณีทดสอบของฉัน นี่คือสิ่งที่ตัวเลขที่เป็นปัญหามีลักษณะเหมือนหลังการประมวลผลล่วงหน้าและการแบ่งส่วน: กลายเป็นและจัดเป็น4 กลายเป็นและจัดเป็น7 กลายเป็นและจัดเป็น 4และอื่น ๆ ... นี่เป็นสิ่งที่สามารถแก้ไขได้โดยการปรับปรุงกระบวนการแบ่งส่วนหรือไม่ หรือโดยการเพิ่มชุดฝึกอบรม แก้ไข: การปรับปรุงชุดฝึกอบรม (การเพิ่มข้อมูล) จะช่วยได้อย่างแน่นอนซึ่งฉันได้ทำการทดสอบแล้วคำถามของการประมวลผลที่ถูกต้องยังคงอยู่ การประมวลผลล่วงหน้าของฉันประกอบด้วยการปรับขนาดการแปลงเป็นโทนสีเทาการแปลงแบบสองทางการหมุนและการขยาย นี่คือรหัส: Mat resized = new Mat(); Imgproc.resize(image, resized, new Size(), 8, 8, Imgproc.INTER_CUBIC); Mat grayscale = new Mat(); Imgproc.cvtColor(resized, grayscale, Imgproc.COLOR_BGR2GRAY); Mat …

3
รับตำแหน่งของข้อความทั้งหมดที่อยู่ในภาพโดยใช้ opencv
ฉันมีภาพนี้ที่มีข้อความ (ตัวเลขและตัวอักษร) อยู่ในนั้น ฉันต้องการรับตำแหน่งของข้อความและตัวเลขทั้งหมดที่อยู่ในภาพนี้ นอกจากนี้ฉันต้องการแยกข้อความทั้งหมดด้วย ฉันจะรับลูกสมุนตลอดจนข้อความทั้งหมด (ตัวเลขและตัวอักษร) ในภาพของฉันได้อย่างไร เช่น 10B, 44, 16, 38, 22B เป็นต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.