From adc2651b5b8f46ca41a8d29ccc3a97799796e8eb Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Mon, 13 Jan 2025 11:25:23 +0800 Subject: [PATCH] =?UTF-8?q?test.py=20=E8=BF=90=E8=A1=8C=20=E6=88=90?= =?UTF-8?q?=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- output/detection_20250113_112407_136399.jpg | Bin 0 -> 99310 bytes src/__pycache__/api_server.cpython-39.pyc | Bin 0 -> 1411 bytes src/__pycache__/camera_handler.cpython-39.pyc | Bin 0 -> 1399 bytes .../person_detector.cpython-39.pyc | Bin 1726 -> 1721 bytes src/person_detector.py | 2 +- test.py | 6 ++ tests/__pycache__/run_tests.cpython-39.pyc | Bin 0 -> 720 bytes tests/__pycache__/test_api.cpython-39.pyc | Bin 0 -> 1425 bytes tests/__pycache__/test_camera.cpython-39.pyc | Bin 0 -> 819 bytes .../test_distance_estimator.cpython-39.pyc | Bin 0 -> 983 bytes .../test_person_detector.cpython-39.pyc | Bin 0 -> 1101 bytes tests/run_tests.py | 24 ++++++ tests/test_api.py | 40 ++++++++++ tests/test_camera.py | 22 ++++++ ...e87dd5c32df99b3c468.jpg => test_image.jpg} | Bin tests/test_distance_estimator.py | 71 ++++++------------ tests/test_person_detector.py | 68 ++++++----------- 17 files changed, 138 insertions(+), 95 deletions(-) create mode 100644 output/detection_20250113_112407_136399.jpg create mode 100644 src/__pycache__/api_server.cpython-39.pyc create mode 100644 src/__pycache__/camera_handler.cpython-39.pyc create mode 100644 test.py create mode 100644 tests/__pycache__/run_tests.cpython-39.pyc create mode 100644 tests/__pycache__/test_api.cpython-39.pyc create mode 100644 tests/__pycache__/test_camera.cpython-39.pyc create mode 100644 tests/__pycache__/test_distance_estimator.cpython-39.pyc create mode 100644 tests/__pycache__/test_person_detector.cpython-39.pyc create mode 100644 tests/run_tests.py create mode 100644 tests/test_api.py create mode 100644 tests/test_camera.py rename tests/test_data/{Meeting-2nd-Floor-8-19-2024-13_05_00-GMT-7-8-19-2024-13_35_30-GMT-7_mp4-1803_jpg.rf.3e48dd21b87dfe87dd5c32df99b3c468.jpg => test_image.jpg} (100%) diff --git a/output/detection_20250113_112407_136399.jpg b/output/detection_20250113_112407_136399.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4cb6ae26fcaab7498eaffbdfcbb771a514374779 GIT binary patch literal 99310 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

h5 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 BgIWLp literal 0 HcmV?d00001 diff --git a/src/__pycache__/api_server.cpython-39.pyc b/src/__pycache__/api_server.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04898e43ba30570a4da50d549b0e424b2e0dbd8c GIT binary patch literal 1411 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 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_api.cpython-39.pyc b/tests/__pycache__/test_api.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8ae8759b3174452f590402994f85b197216c51e GIT binary patch literal 1425 zcmZuw-HRMW5bvIk-PzCV-kl%l%O<|KVs=lTL^LR#koXV|BM5`C4BKU)M` zQUj#os!0RST``&2WF7@gIk9~|V3uQmvMGEfO9LhY-yiS=FJpul(5X=(E2Ery9&#M z3d{DS!2SS{Ob=hip|XNLJ=;|QQCSX<&jHCshG^*rwZJZC(gWH}GhqZCb51<7H!`)$pT+%~hQ|oE`sqWqR}-^to26 z&BXiaya;6aHU6ZQP@4$ zpWJ>Ndl=pNX*jsLJQI0DK_Ll={CPMSOuoE3`F=Zg+)0C3tgCc#z`t3Efy&#JExGpkTBig`$9c7K91D<02^q(! zj}E^Y?|gHzTBZuvQW!f#p`3_{VsO=`mdm&b<3Jft8^NaAv^^}*#WA^y=t&6r&lw=~w&$32gE*FZntC3qw+)Y3hFc##+#6lJ z+!#N&57i(3c5iyvuQLb{M6>}BYW^lK3)OLYLM!Gsr~yHehBYk3``=VLAIT+2!bQ9Q z$O7zB(h@G=SL7v$iYHSoP|*yoLb~8wa(%rR&}I$XHUg7wm^7+*T(Sj$#8qgt4VTz} ziuUkD0nA@n19t;?P!Gjk(e!&kxMEr-GH@B6KLwW#$9Ah#R5%FE6u1LKrsf-K+yZlG6VEeyN(e5 zd^0-g#JjDi*^WLPM>|K+>o56yek|?R7A_)2+b2=`eKa^gt#(b)AG-06&V(Kvyd3ZE zqNoyZjl08W*ghS+iw{4Z_4;G^AI`P2-^bCf&llQ%UA)+f5BFuKMcL`x+{A0te;aS@ z+{n!`X)!bcR`Eq>aA7kMCPc+^aN{~oV5L_bQGCYmYQju~S9}cdOHQcyftB*9&6r&e zb=UDRzHA3hnBbxsh}u5;esnHP73COdYF}LkqI75$t0HL@+OF8Y9^SFQJ96Ru&BP+ zJZia=rI*%kTZUirf;y8go23w}1;g_NnVI^AKnOL*^G=SP_I?tkqqK3=uzW1b5?I5JKq5+F+BElT=g^kZtI6 zcF3Ge?K(D@lOc3^p_`q*B)2wc^8R zgnovb!-K%)Dl9VrKoP}xBw~1yJkdCj!-#T}pG6{1@g0;D0*FGBN$if?P)$qLGs;cV zQZ?B!SSCE`jy`x1U|ol0t^!c(0I7p1=MW3o$i_CIe2H^73sYeRgHXibZJzd>Mvh=} zYs408ew{cGIFH&9+F$1BK!pngW5|m4$QtaKwb;!9-l3K*g2sj? zgL6=2a1ub>h#-{Y+}MEZ-{w^H-pZeL7{CF-?WPx+Cm7g^Sa?Ik{!Wa+#Ml&*HKpUFIQo~hQbB#7LE}G{75aBUQLU3#TibSFukE1w-kK$pj^CWBtB9nqE=tT`!iCz$on=F&+HtS literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_person_detector.cpython-39.pyc b/tests/__pycache__/test_person_detector.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aed3acc88894afb8acf541f774731024b91c04d5 GIT binary patch literal 1101 zcmZuw%}*0S6rY*hmRie)d&|Q=O`8x( zA}WYq1QXCeh(<^Rj2cNT{uv(jWMX$Ie}H%2Y(WTdHuGlQd%yQJ@2%R{7)G!MNZ}xF5AdhrIni3kp)+#+Vg4uvUFakuYK-?dIeA;+Jft2t(qU~=a zksHW5#7PmnMrVIMJZh%R+(jdn<*#y1=VtS`_YQGJO*qm z7P|$JTA7;D5;>jOYFf{$TsIB-gfQ?y+uvV$Zx`J1tJ?ZI@AbMnIagcypvZ%R<^#L) z5Nf+pb~m02l@k`}>r^w6ntk%WuzkRe=(ODiM3{Pu6}K`|-JJG5E^jZbSs3Iyg7|*+ zt=zFnZK~wXfB6Ts#k|(Db|*J_e72{$xmvH;?gs6_@^@coZOWT`b~+le#5_AvGIzlV z>KRK@sT0Ury1|_w^+(hR>r6KoSD_|HPV0<2Qd%>j0VPxin3fXu`{Q>-X~_EX&6E(l zZ6d4kloG6qR*=;Q!T$6CiKonr7FTITH_lt8$>S;2#Gk~D13@Grg>efB;Z~^?hj0sgUHA-X$5u0Fqd_YO vhZ8XD4EQ2OR%v5aGIq$F|4P1rU%~;>B& 0, "距离应该大于0" + assert 0 <= distance.confidence <= 1, "置信度应该在0-1之间" + + print(f"检测到 {len(distances)} 个人物的距离") + for i, d in enumerate(distances): + print(f"人物 {i+1}: 距离 = {d.distance_mm:.2f}mm, 置信度 = {d.confidence:.2f}") + + finally: + camera.stop() + + print("API测试完成!") \ No newline at end of file diff --git a/tests/test_camera.py b/tests/test_camera.py new file mode 100644 index 0000000..ac8791d --- /dev/null +++ b/tests/test_camera.py @@ -0,0 +1,22 @@ +import cv2 +import numpy as np +import time +from src.camera_handler import RTSPCamera + +def test_rtsp_camera(): + # 使用本地测试视频或摄像头 + camera = RTSPCamera(0) # 使用本地摄像头进行测试 + + print("测试摄像头启动...") + camera.start() + time.sleep(2) # 等待摄像头初始化 + + print("测试获取帧...") + frame = camera.get_frame() + assert frame is not None, "无法获取视频帧" + assert isinstance(frame, np.ndarray), "帧格式不正确" + assert len(frame.shape) == 3, "帧维度不正确" + + print("测试摄像头停止...") + camera.stop() + print("摄像头测试完成!") \ No newline at end of file diff --git a/tests/test_data/Meeting-2nd-Floor-8-19-2024-13_05_00-GMT-7-8-19-2024-13_35_30-GMT-7_mp4-1803_jpg.rf.3e48dd21b87dfe87dd5c32df99b3c468.jpg b/tests/test_data/test_image.jpg similarity index 100% rename from tests/test_data/Meeting-2nd-Floor-8-19-2024-13_05_00-GMT-7-8-19-2024-13_35_30-GMT-7_mp4-1803_jpg.rf.3e48dd21b87dfe87dd5c32df99b3c468.jpg rename to tests/test_data/test_image.jpg diff --git a/tests/test_distance_estimator.py b/tests/test_distance_estimator.py index e0d91ca..5aa6788 100644 --- a/tests/test_distance_estimator.py +++ b/tests/test_distance_estimator.py @@ -1,54 +1,31 @@ -import pytest import numpy as np -from ..src.distance_estimator import DistanceEstimator +from src.distance_estimator import DistanceEstimator -@pytest.fixture -def estimator(): - return DistanceEstimator( - focal_length=1000, # mm - sensor_height=5.6, # mm - avg_person_height=1700 # mm +def test_distance_estimator(): + # 初始化距离估算器 + focal_length = 35 # mm + sensor_height = 24 # mm + avg_person_height = 1700 # mm + + estimator = DistanceEstimator( + focal_length=focal_length, + sensor_height=sensor_height, + avg_person_height=avg_person_height ) - -def test_distance_estimator_initialization(estimator): - assert estimator.focal_length == 1000 - assert estimator.sensor_height == 5.6 - assert estimator.avg_person_height == 1700 - -def test_distance_estimation(estimator): - # 测试不同像素高度的情况 - test_cases = [ - # (person_height_pixels, frame_height, expected_distance_range) - (400, 720, (2000, 5000)), # 近距离 - (200, 720, (4000, 10000)), # 中等距离 - (100, 720, (8000, 20000)) # 远距离 - ] - for height_px, frame_height, (min_dist, max_dist) in test_cases: - distance = estimator.estimate_distance(height_px, frame_height) - assert min_dist <= distance <= max_dist, \ - f"Distance {distance}mm not in expected range [{min_dist}, {max_dist}]" - -def test_distance_estimation_edge_cases(estimator): - # 测试边界情况 - with pytest.raises(ZeroDivisionError): - estimator.estimate_distance(0, 720) + print("测试距离估算...") - # 测试极小值 - distance = estimator.estimate_distance(1, 720) - assert distance > 0 + # 测试场景1:人物占据画面一半高度 + frame_height = 1080 + person_height_pixels = frame_height / 2 + distance = estimator.estimate_distance(person_height_pixels, frame_height) + print(f"场景1 - 人物占据画面一半高度时的估算距离: {distance:.2f}mm") + assert distance > 0, "距离估算结果应该大于0" - # 测试当人物高度等于图像高度的情况 - distance = estimator.estimate_distance(720, 720) - assert distance > 0 - -def test_distance_estimation_linearity(estimator): - # 测试距离估算的线性关系 - height1, height2 = 200, 100 - frame_height = 720 + # 测试场景2:人物占据画面四分之一高度 + person_height_pixels = frame_height / 4 + distance = estimator.estimate_distance(person_height_pixels, frame_height) + print(f"场景2 - 人物占据画面四分之一高度时的估算距离: {distance:.2f}mm") + assert distance > 0, "距离估算结果应该大于0" - distance1 = estimator.estimate_distance(height1, frame_height) - distance2 = estimator.estimate_distance(height2, frame_height) - - # 当像素高度减半时,距离应该翻倍 - assert abs(distance2 / distance1 - 2.0) < 0.1 \ No newline at end of file + print("距离估算测试完成!") \ No newline at end of file diff --git a/tests/test_person_detector.py b/tests/test_person_detector.py index 0899df5..1bbb89e 100644 --- a/tests/test_person_detector.py +++ b/tests/test_person_detector.py @@ -1,51 +1,25 @@ -import pytest -import numpy as np import cv2 -# import os -# import sys +import numpy as np +from src.person_detector import PersonDetector -from ..src.person_detector import PersonDetector -# from src.person_detector import PersonDetector - -@pytest.fixture -def detector(): - # 使用YOLOv8n模型进行测试 - return PersonDetector("yolov8n.pt", conf_threshold=0.5) - -@pytest.fixture -def sample_image(): - # 创建一个测试用的图像,包含一个人的图像 - img_path = "tests/test_data/person.jpg" # 请准备一张包含人物的测试图片 - return cv2.imread(img_path) - -def test_person_detector_initialization(detector): - assert detector.model is not None - assert detector.conf_threshold == 0.5 - -def test_person_detection(detector, sample_image): - persons = detector.detect(sample_image, True) +def test_person_detector(): + # 初始化检测器 + detector = PersonDetector("yolov8n.pt", conf_threshold=0.5) + + # 读取测试图像 + test_image = cv2.imread("tests/test_data/test_image.jpg") + assert test_image is not None, "无法加载测试图像" + + print("测试人物检测...") + persons, vis_path = detector.detect(test_image, save_visualization=True) # 验证检测结果 - assert isinstance(persons, list) - if len(persons) > 0: - person = persons[0] - assert 'bbox' in person - assert 'confidence' in person - - # 验证边界框格式 - bbox = person['bbox'] - assert len(bbox) == 4 - assert all(isinstance(x, int) for x in bbox) - assert bbox[0] < bbox[2] # x1 < x2 - assert bbox[1] < bbox[3] # y1 < y2 - - # 验证置信度 - print("人物置信度", person['confidence']) - assert 0 <= person['confidence'] <= 1 - -def test_person_detector_empty_image(detector): - # 测试空图像 - empty_image = np.zeros((100, 100, 3), dtype=np.uint8) - persons = detector.detect(empty_image) - assert isinstance(persons, list) - assert len(persons) == 0 \ No newline at end of file + assert isinstance(persons, list), "检测结果应该是列表" + for person in persons: + assert 'bbox' in person, "检测结果缺少bbox" + assert 'confidence' in person, "检测结果缺少confidence" + assert len(person['bbox']) == 4, "bbox格式不正确" + assert 0 <= person['confidence'] <= 1, "confidence值范围不正确" + + print(f"检测到 {len(persons)} 个人物") + print("人物检测测试完成!") \ No newline at end of file