Source code for payloadcomputerdroneprojekt.test.image_analysis.test_code2

import unittest
from payloadcomputerdroneprojekt.image_analysis import ImageAnalysis
import os
import cv2
import tempfile
import json
from payloadcomputerdroneprojekt.test.image_analysis.helper \
    import TestCommunications, TestCamera, FILE_PATH


DATA = [
    {"time": 175008095328, "image_pos": [
        0.007329502142965794, 0.013819013722240925, -1.486909031867981,
        -0.43472132086753845, 0.7123400568962097, 0],
     "raw_image": "175008095328_raw_image.jpg", "height": 1.486909031867981},
    {"time": 175008095384, "image_pos": [
        -0.0009770386386662722, 0.02063533291220665, -1.4943788051605225,
        -0.43811672925949097, 0.9459957480430603, 0],
     "raw_image": "175008095384_raw_image.jpg", "height": 1.4943788051605225},
    {"time": 175008095405, "image_pos": [
        0.05918622016906738, 0.009132473729550838, -1.5345736742019653,
        0.9689342975616455, -1.6092430353164673, 0],
     "raw_image": "175008095405_raw_image.jpg", "height": 1.5345736742019653},
    {"time": 175008095436, "image_pos": [
        0.10005003213882446, -0.05298306792974472, -1.2935973405838013,
        2.757206439971924, -2.756244421005249, 0],
     "raw_image": "175008095436_raw_image.jpg", "height": 1.2935973405838013}
]


[docs] def calc_offset(ia: ImageAnalysis, image_pos, image, height): # Dummy function to simulate offset calculation with ia._data_handler as item: return ia._get_current_offset_closest( image_pos, height, image, "orange", "Code", item=item)
[docs] class TestCode2(unittest.TestCase):
[docs] def test_compute_image_3(self): path = tempfile.mkdtemp(prefix="image_analysis") with open(os.path.join(FILE_PATH, "config_px4.json")) as json_data: config = json.load(json_data)["image"] config["path"] = path cam = TestCamera(config) ia = ImageAnalysis(config, cam, TestCommunications("")) image = cv2.imread(os.path.join( FILE_PATH, "test_land_indoor", "inflight_code.jpg")) for data in DATA: image_pos = data["image_pos"] height = data["height"] raw_image_path = os.path.join( FILE_PATH, "test_land_indoor", data["raw_image"]) image = cv2.imread(raw_image_path) print(f"Processing image at {raw_image_path}") ret = calc_offset(ia, image_pos, image, height) print(f"Offset for image {data['raw_image']}: {ret}")
if __name__ == '__main__': unittest.main()