Browse Source

空港畅行通代码提交

tags/V1.5.0^2
chenyukun 1 year ago
parent
commit
826069b429
5 changed files with 58 additions and 53 deletions
  1. +12
    -8
      .idea/workspace.xml
  2. +1
    -0
      entity/FeedBack.py
  3. +1
    -1
      fk_application.yml
  4. +43
    -43
      service/Dispatcher.py
  5. +1
    -1
      test/kafka/producer_start.py

+ 12
- 8
.idea/workspace.xml View File

</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="4f7dccd9-8f92-4a6e-90cc-33890d102263" name="Changes" comment="Changes"> <list default="true" id="4f7dccd9-8f92-4a6e-90cc-33890d102263" name="Changes" comment="Changes">
<change beforePath="$PROJECT_DIR$/.idea/deployment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deployment.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/baidusdk/baidusdk.py" beforeDir="false" afterPath="$PROJECT_DIR$/test/baidusdk/baidusdk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/util/ModelUtils.py" beforeDir="false" afterPath="$PROJECT_DIR$/util/ModelUtils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/entity/FeedBack.py" beforeDir="false" afterPath="$PROJECT_DIR$/entity/FeedBack.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/fk_application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/fk_application.yml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/service/Dispatcher.py" beforeDir="false" afterPath="$PROJECT_DIR$/service/Dispatcher.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/kafka/producer_start.py" beforeDir="false" afterPath="$PROJECT_DIR$/test/kafka/producer_start.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
</favorite-branches> </favorite-branches>
<option name="RECENT_BRANCH_BY_REPOSITORY"> <option name="RECENT_BRANCH_BY_REPOSITORY">
<map> <map>
<entry key="$PROJECT_DIR$" value="master" />
<entry key="$PROJECT_DIR$" value="release" />
</map> </map>
</option> </option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<recent name="D:\work\alg\tuoheng_alg\image" /> <recent name="D:\work\alg\tuoheng_alg\image" />
</key> </key>
</component> </component>
<component name="RunManager" selected="Python.baidusdk">
<component name="RunManager" selected="Python.producer_start">
<configuration name="ailiyunsdk2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> <configuration name="ailiyunsdk2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tuoheng_fk" /> <module name="tuoheng_fk" />
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
</list> </list>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Python.producer_start" />
<item itemvalue="Python.baidusdk (1)" /> <item itemvalue="Python.baidusdk (1)" />
<item itemvalue="Python.ailiyunsdk2" /> <item itemvalue="Python.ailiyunsdk2" />
<item itemvalue="Python.producer_start" />
<item itemvalue="Python.fk_master" /> <item itemvalue="Python.fk_master" />
<item itemvalue="Python.baidusdk (1)" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
<workItem from="1668495580103" duration="4299000" /> <workItem from="1668495580103" duration="4299000" />
<workItem from="1668557058851" duration="7348000" /> <workItem from="1668557058851" duration="7348000" />
<workItem from="1668729963723" duration="1367000" /> <workItem from="1668729963723" duration="1367000" />
<workItem from="1668992475881" duration="5624000" />
<workItem from="1669712597426" duration="710000" />
</task> </task>
<servers /> <servers />
</component> </component>
<SUITE FILE_PATH="coverage/tuoheng_alg$2.coverage" NAME="视频添加图片水印2 Coverage Results" MODIFIED="1661875306428" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" /> <SUITE FILE_PATH="coverage/tuoheng_alg$2.coverage" NAME="视频添加图片水印2 Coverage Results" MODIFIED="1661875306428" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
<SUITE FILE_PATH="coverage/tuoheng_fk$producer_start.coverage" NAME="producer_start 覆盖结果" MODIFIED="1667811329568" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/kafka" /> <SUITE FILE_PATH="coverage/tuoheng_fk$producer_start.coverage" NAME="producer_start 覆盖结果" MODIFIED="1667811329568" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/kafka" />
<SUITE FILE_PATH="coverage/tuoheng_alg$4.coverage" NAME="视频添加图片水印4 Coverage Results" MODIFIED="1661874731395" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" /> <SUITE FILE_PATH="coverage/tuoheng_alg$4.coverage" NAME="视频添加图片水印4 Coverage Results" MODIFIED="1661874731395" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
<SUITE FILE_PATH="coverage/tuoheng_fk_python$producer_start.coverage" NAME="producer_start 覆盖结果" MODIFIED="1667895565003" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/kafka" />
<SUITE FILE_PATH="coverage/tuoheng_fk_python$producer_start.coverage" NAME="producer_start 覆盖结果" MODIFIED="1668740739058" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/kafka" />
<SUITE FILE_PATH="coverage/tuoheng_alg$KafkaUtils__1_.coverage" NAME="KafkaUtils (1) Coverage Results" MODIFIED="1663464961001" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/util" /> <SUITE FILE_PATH="coverage/tuoheng_alg$KafkaUtils__1_.coverage" NAME="KafkaUtils (1) Coverage Results" MODIFIED="1663464961001" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/util" />
<SUITE FILE_PATH="coverage/tuoheng_alg$minio.coverage" NAME="minio 覆盖结果" MODIFIED="1667465702864" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/minio1" /> <SUITE FILE_PATH="coverage/tuoheng_alg$minio.coverage" NAME="minio 覆盖结果" MODIFIED="1667465702864" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/minio1" />
<SUITE FILE_PATH="coverage/tuoheng_alg$producer_start.coverage" NAME="producer_start Coverage Results" MODIFIED="1663466832843" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" /> <SUITE FILE_PATH="coverage/tuoheng_alg$producer_start.coverage" NAME="producer_start Coverage Results" MODIFIED="1663466832843" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
<SUITE FILE_PATH="coverage/tuoheng_fk$image.coverage" NAME="image 覆盖结果" MODIFIED="1667547816366" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/协程" /> <SUITE FILE_PATH="coverage/tuoheng_fk$image.coverage" NAME="image 覆盖结果" MODIFIED="1667547816366" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test/协程" />
<SUITE FILE_PATH="coverage/tuoheng_alg$TimeUtils.coverage" NAME="TimeUtils Coverage Results" MODIFIED="1661222768678" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/util" /> <SUITE FILE_PATH="coverage/tuoheng_alg$TimeUtils.coverage" NAME="TimeUtils Coverage Results" MODIFIED="1661222768678" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/util" />
<SUITE FILE_PATH="coverage/tuoheng_fk_python$aaliyunsdk.coverage" NAME="ailiyunsdk2 覆盖结果" MODIFIED="1667959131471" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="/home/chenyukun/fk/test/baidusdk" /> <SUITE FILE_PATH="coverage/tuoheng_fk_python$aaliyunsdk.coverage" NAME="ailiyunsdk2 覆盖结果" MODIFIED="1667959131471" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="/home/chenyukun/fk/test/baidusdk" />
<SUITE FILE_PATH="coverage/tuoheng_fk_python$baidusdk.coverage" NAME="baidusdk 覆盖结果" MODIFIED="1668732696180" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="/home/chenyukun/fk" />
<SUITE FILE_PATH="coverage/tuoheng_fk_python$baidusdk.coverage" NAME="baidusdk 覆盖结果" MODIFIED="1668740729949" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="/home/chenyukun/fk" />
<SUITE FILE_PATH="coverage/tuoheng_fk$Dispatcher.coverage" NAME="Dispatcher 覆盖结果" MODIFIED="1667810228478" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/service" /> <SUITE FILE_PATH="coverage/tuoheng_fk$Dispatcher.coverage" NAME="Dispatcher 覆盖结果" MODIFIED="1667810228478" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/service" />
<SUITE FILE_PATH="coverage/tuoheng_alg$3.coverage" NAME="视频添加文字水印3 Coverage Results" MODIFIED="1661906152928" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" /> <SUITE FILE_PATH="coverage/tuoheng_alg$3.coverage" NAME="视频添加文字水印3 Coverage Results" MODIFIED="1661906152928" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
</component> </component>

+ 1
- 0
entity/FeedBack.py View File

"registerId": registerId, "registerId": registerId,
"carUrl": carUrl, "carUrl": carUrl,
"carCode": carCode, "carCode": carCode,
"carCodeScore": '',
"flowManRecognitionlList": flowManRecognitionlList "flowManRecognitionlList": flowManRecognitionlList
} }

+ 1
- 1
fk_application.yml View File

enable_auto_commit: False enable_auto_commit: False
max_poll_records: 1 max_poll_records: 1
test: test:
bootstrap_servers: ['192.168.11.242:9092']
bootstrap_servers: ['106.14.96.218:19092']
producer: producer:
acks: -1 acks: -1
retries: 3 retries: 3

+ 43
- 43
service/Dispatcher.py View File

carUrl = flowMan.get("carUrl") carUrl = flowMan.get("carUrl")
flowManUrlList = flowMan.get("flowManUrlList") flowManUrlList = flowMan.get("flowManUrlList")
args_list = [] args_list = []
args_list.append(('plate', carUrl, gpuId, fkmodel, orc, msgId))
if carUrl is not None or len(carUrl) > 0:
args_list.append(('plate', carUrl, gpuId, fkmodel, orc, msgId))
for flowManUrl in flowManUrlList: for flowManUrl in flowManUrlList:
args_list.append(('code', flowManUrl, gpuId, fkmodel, orc, msgId))
if flowManUrl is not None or len(flowManUrl) > 0:
args_list.append(('code', flowManUrl, gpuId, fkmodel, orc, msgId))
register = message_register(registerId=registerId, carUrl=carUrl, carCode="", flowManRecognitionlList=[]) register = message_register(registerId=registerId, carUrl=carUrl, carCode="", flowManRecognitionlList=[])
with ThreadPoolExecutor(max_workers=2) as t: with ThreadPoolExecutor(max_workers=2) as t:
for result in t.map(ai_segmentation_recognition, args_list): for result in t.map(ai_segmentation_recognition, args_list):
# 行程码 # 行程码
if dataBack.get("type") == 0: if dataBack.get("type") == 0:
# 手机号 # 手机号
if dataBack.get("phoneNumberImage") is None or len(dataBack.get("phoneNumberImage")) == 0:
phoneNumberRecognition = ''
phone_score = ''
else:
phone = param[4].universal_text_recognition(dataBack.get("phoneNumberImage")[0], param[5])
phone_score = dataBack.get("phoneNumberImage")[1]
if phone is None or phone.get("words_result") is None or len(phone.get("words_result")) == 0:
logger.error("手机号识别为空: {}", phone)
phoneNumberRecognition = ''
else:
phoneNumberRecognition = phone.get("words_result")
# if dataBack.get("phoneNumberImage") is None or len(dataBack.get("phoneNumberImage")) == 0:
# phoneNumberRecognition = ''
# phone_score = ''
# else:
# phone = param[4].universal_text_recognition(dataBack.get("phoneNumberImage")[0], param[5])
# phone_score = dataBack.get("phoneNumberImage")[1]
# if phone is None or phone.get("words_result") is None or len(phone.get("words_result")) == 0:
# logger.error("手机号识别为空: {}", phone)
# phoneNumberRecognition = ''
# else:
# phoneNumberRecognition = phone.get("words_result")
if dataBack.get("cityImage") is None or len(dataBack.get("cityImage")) == 0: if dataBack.get("cityImage") is None or len(dataBack.get("cityImage")) == 0:
cityRecognition = '' cityRecognition = ''
city_score = '' city_score = ''
cityRecognition = city.get("words_result") cityRecognition = city.get("words_result")
return {'type': str(dataBack.get("type")), return {'type': str(dataBack.get("type")),
'imageUrl': param[1], 'imageUrl': param[1],
'phoneNumberRecognition': phoneNumberRecognition,
'phone_sorce': phone_score,
# 'phoneNumberRecognition': phoneNumberRecognition,
# 'phone_sorce': phone_score,
'cityRecognition': cityRecognition, 'cityRecognition': cityRecognition,
'city_score': city_score} 'city_score': city_score}
elif dataBack.get("type") == 1: elif dataBack.get("type") == 1:
if dataBack.get("nameImage") is None or len(dataBack.get("nameImage")) == 0:
nameRecognition = ''
name_score = ''
else:
name = param[4].universal_text_recognition(dataBack.get("nameImage")[0], param[5])
name_score = dataBack.get("nameImage")[1]
if name is None or name.get("words_result") is None or len(name.get("words_result")) == 0:
logger.error("名字识别为空: {}", name)
nameRecognition = ''
else:
nameRecognition = name.get("words_result")

if dataBack.get("phoneNumberImage") is None or len(dataBack.get("phoneNumberImage")) == 0:
phoneNumberRecognition = ''
phone_score = ''
else:
phone = param[4].universal_text_recognition(dataBack.get("phoneNumberImage")[0], param[5])
phone_score = dataBack.get("phoneNumberImage")[1]
if phone is None or phone.get("words_result") is None or len(phone.get("words_result")) == 0:
logger.error("手机号识别为空: {}", phone)
phoneNumberRecognition = ''
else:
phoneNumberRecognition = phone.get("words_result")

# if dataBack.get("nameImage") is None or len(dataBack.get("nameImage")) == 0:
# nameRecognition = ''
# name_score = ''
# else:
# name = param[4].universal_text_recognition(dataBack.get("nameImage")[0], param[5])
# name_score = dataBack.get("nameImage")[1]
# if name is None or name.get("words_result") is None or len(name.get("words_result")) == 0:
# logger.error("名字识别为空: {}", name)
# nameRecognition = ''
# else:
# nameRecognition = name.get("words_result")
# if dataBack.get("phoneNumberImage") is None or len(dataBack.get("phoneNumberImage")) == 0:
# phoneNumberRecognition = ''
# phone_score = ''
# else:
# phone = param[4].universal_text_recognition(dataBack.get("phoneNumberImage")[0], param[5])
# phone_score = dataBack.get("phoneNumberImage")[1]
# if phone is None or phone.get("words_result") is None or len(phone.get("words_result")) == 0:
# logger.error("手机号识别为空: {}", phone)
# phoneNumberRecognition = ''
# else:
# phoneNumberRecognition = phone.get("words_result")
if dataBack.get("hsImage") is None or len(dataBack.get("hsImage")) == 0: if dataBack.get("hsImage") is None or len(dataBack.get("hsImage")) == 0:
hsRecognition = '' hsRecognition = ''
hs_score = '' hs_score = ''
return {'type': str(dataBack.get("type")), return {'type': str(dataBack.get("type")),
'imageUrl': param[1], 'imageUrl': param[1],
'color': dataBack.get("color"), 'color': dataBack.get("color"),
'nameRecognition': nameRecognition,
'name_score': name_score,
'phoneNumberRecognition': phoneNumberRecognition,
'phone_score': phone_score,
# 'nameRecognition': nameRecognition,
# 'name_score': name_score,
# 'phoneNumberRecognition': phoneNumberRecognition,
# 'phone_score': phone_score,
'hsRecognition': hsRecognition, 'hsRecognition': hsRecognition,
'hs_score': hs_score} 'hs_score': hs_score}
else: else:

+ 1
- 1
test/kafka/producer_start.py View File

} }
] ]
} }
producer = KafkaProducer(bootstrap_servers=['192.168.11.13:9092'],
producer = KafkaProducer(bootstrap_servers=['106.14.96.218:19092'],
value_serializer=lambda m: json.dumps(m).encode('utf-8')) value_serializer=lambda m: json.dumps(m).encode('utf-8'))
future = producer.send(topicName, key=b'ffa29db9c4c7451997b3d5038bf13381', value=aaa) future = producer.send(topicName, key=b'ffa29db9c4c7451997b3d5038bf13381', value=aaa)
result = future.get(timeout=10) result = future.get(timeout=10)

Loading…
Cancel
Save