Created
May 7, 2018 16:07
-
-
Save Mallekin/14b83dce512e1f67e2a0fdb0499f6183 to your computer and use it in GitHub Desktop.
Minimal python example to capture frames with an IDS uEye camera
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from pyueye import ueye | |
import numpy as np | |
import cv2 | |
def main(): | |
# init camera | |
hcam = ueye.HIDS(0) | |
ret = ueye.is_InitCamera(hcam, None) | |
print(f"initCamera returns {ret}") | |
# set color mode | |
ret = ueye.is_SetColorMode(hcam, ueye.IS_CM_BGR8_PACKED) | |
print(f"SetColorMode IS_CM_BGR8_PACKED returns {ret}") | |
# set region of interest | |
width = 1280 | |
height = 1080 | |
rect_aoi = ueye.IS_RECT() | |
rect_aoi.s32X = ueye.int(0) | |
rect_aoi.s32Y = ueye.int(0) | |
rect_aoi.s32Width = ueye.int(width) | |
rect_aoi.s32Height = ueye.int(height) | |
ueye.is_AOI(hcam, ueye.IS_AOI_IMAGE_SET_AOI, rect_aoi, ueye.sizeof(rect_aoi)) | |
print(f"AOI IS_AOI_IMAGE_SET_AOI returns {ret}") | |
# allocate memory | |
mem_ptr = ueye.c_mem_p() | |
mem_id = ueye.int() | |
bitspixel = 24 # for colormode = IS_CM_BGR8_PACKED | |
ret = ueye.is_AllocImageMem(hcam, width, height, bitspixel, | |
mem_ptr, mem_id) | |
print(f"AllocImageMem returns {ret}") | |
# set active memory region | |
ret = ueye.is_SetImageMem(hcam, mem_ptr, mem_id) | |
print(f"SetImageMem returns {ret}") | |
# continuous capture to memory | |
ret = ueye.is_CaptureVideo(hcam, ueye.IS_DONT_WAIT) | |
print(f"CaptureVideo returns {ret}") | |
# get data from camera and display | |
lineinc = width * int((bitspixel + 7) / 8) | |
while True: | |
img = ueye.get_data(mem_ptr, width, height, bitspixel, lineinc, copy=True) | |
img = np.reshape(img, (height, width, 3)) | |
cv2.imshow('uEye Python Example (q to exit)', img) | |
if cv2.waitKey(1) & 0xFF == ord('q'): | |
break | |
cv2.destroyAllWindows() | |
# cleanup | |
ret = ueye.is_StopLiveVideo(hcam, ueye.IS_FORCE_VIDEO_STOP) | |
print(f"StopLiveVideo returns {ret}") | |
ret = ueye.is_ExitCamera(hcam) | |
print(f"ExitCamera returns {ret}") | |
if __name__ == '__main__': | |
main() |
When I run this code, camera stayed zoomed. Which code part is reasoning this. Can you help me about this?
in line 45 when the img is being retrieved the program exits with this code
Process finished with exit code 139 (interrupted by signal 11:SIGSEGV)
any ideas what is causing this??
all lines returned 1 up til then
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello! I wonder how I can set up exposure time, gain such parameters?