60 lines
2.1 KiB
Python
60 lines
2.1 KiB
Python
import copy
|
|
import dataclasses
|
|
import json
|
|
import tempfile
|
|
from pathlib import Path
|
|
|
|
import cv2
|
|
import numpy as np
|
|
|
|
import shenzhen_solitaire.card_detection.adjustment as adjustment
|
|
import shenzhen_solitaire.card_detection.card_finder as card_finder
|
|
from shenzhen_solitaire.card_detection.configuration import Configuration
|
|
|
|
|
|
def main() -> None:
|
|
"""Generate a configuration"""
|
|
normal_image = cv2.imread("pictures/specific/BunkerCards.jpg")
|
|
|
|
picture_dir = Path(tempfile.mkdtemp(prefix="shenzhen-special-buttons-"))
|
|
print(picture_dir)
|
|
button_adjustment = adjustment.adjust_squares(normal_image, count_x=1, count_y=3)
|
|
normal_squares = card_finder.get_field_squares(
|
|
normal_image, button_adjustment, 3, 1
|
|
)
|
|
cv2.imwrite(str(picture_dir / "nz.png"), normal_squares[0])
|
|
cv2.imwrite(str(picture_dir / "nf.png"), normal_squares[1])
|
|
cv2.imwrite(str(picture_dir / "nb.png"), normal_squares[2])
|
|
|
|
fa_shiny_image = cv2.imread("pictures/specific/FaShiny.jpg")
|
|
fa_shiny_squares = card_finder.get_field_squares(
|
|
fa_shiny_image, button_adjustment, 3, 1
|
|
)
|
|
cv2.imwrite(str(picture_dir / "sf.png"), fa_shiny_squares[1])
|
|
|
|
zhong_shiny_image = cv2.imread("pictures/specific/ZhongShiny.jpg")
|
|
zhong_shiny_squares = card_finder.get_field_squares(
|
|
zhong_shiny_image, button_adjustment, 3, 1
|
|
)
|
|
cv2.imwrite(str(picture_dir / "sz.png"), zhong_shiny_squares[0])
|
|
|
|
bai_shiny_image = cv2.imread("pictures/specific/BaiShiny.jpg")
|
|
bai_shiny_squares = card_finder.get_field_squares(
|
|
bai_shiny_image, button_adjustment, 3, 1
|
|
)
|
|
cv2.imwrite(str(picture_dir / "sb.png"), bai_shiny_squares[2])
|
|
cv2.imwrite(str(picture_dir / "gz.png"), bai_shiny_squares[0])
|
|
cv2.imwrite(str(picture_dir / "gf.png"), bai_shiny_squares[1])
|
|
|
|
bai_black_image = cv2.imread("pictures/specific/BaiBlack.jpg")
|
|
bai_black_squares = card_finder.get_field_squares(
|
|
bai_black_image, button_adjustment, 3, 1
|
|
)
|
|
cv2.imwrite(str(picture_dir / "gb.png"), bai_black_squares[2])
|
|
print(picture_dir)
|
|
print(json.dumps(dataclasses.asdict(button_adjustment)))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|