Added virtenv
This commit is contained in:
33
tools/generate/border.py
Normal file
33
tools/generate/border.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import copy
|
||||
import dataclasses
|
||||
import json
|
||||
|
||||
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"""
|
||||
image = cv2.imread("pictures/20190809172213_1.jpg")
|
||||
|
||||
border_adjustment = adjustment.adjust_squares(image, count_x=8, count_y=13)
|
||||
border_square_pos = adjustment.adjust_squares(
|
||||
image, count_x=1, count_y=1, adjustment=copy.deepcopy(border_adjustment)
|
||||
)
|
||||
border_square = card_finder.get_field_squares(image, border_square_pos, 1, 1)
|
||||
empty_square_pos = adjustment.adjust_squares(
|
||||
image, count_x=1, count_y=1, adjustment=copy.deepcopy(border_adjustment)
|
||||
)
|
||||
empty_square = card_finder.get_field_squares(image, empty_square_pos, 1, 1)
|
||||
|
||||
cv2.imwrite("/tmp/border_square.png", border_square[0])
|
||||
cv2.imwrite("/tmp/empty_square.png", empty_square[0])
|
||||
print(json.dumps(dataclasses.asdict(border_adjustment)))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
43
tools/generate/bunker.py
Normal file
43
tools/generate/bunker.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import copy
|
||||
import dataclasses
|
||||
import json
|
||||
|
||||
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"""
|
||||
image = cv2.imread("pictures/specific/BunkerCards.jpg")
|
||||
|
||||
bunker_adjustment = adjustment.adjust_squares(
|
||||
image,
|
||||
count_x=3,
|
||||
count_y=1,
|
||||
adjustment=adjustment.Adjustment(
|
||||
**{"x": 730, "y": 310, "w": 19, "h": 21, "dx": 152, "dy": 0}
|
||||
),
|
||||
)
|
||||
print(json.dumps(dataclasses.asdict(bunker_adjustment)))
|
||||
|
||||
back_image = cv2.imread("pictures/specific/BaiShiny.jpg")
|
||||
back_squares = card_finder.get_field_squares(
|
||||
back_image, count_x=1, count_y=3, adjustment=copy.deepcopy(bunker_adjustment)
|
||||
)
|
||||
|
||||
green_image = cv2.imread("pictures/20190809172213_1.jpg")
|
||||
green_squares = card_finder.get_field_squares(
|
||||
green_image, count_x=1, count_y=3, adjustment=copy.deepcopy(bunker_adjustment)
|
||||
)
|
||||
|
||||
cv2.imwrite("/tmp/bunker_green_1.png", green_squares[0])
|
||||
cv2.imwrite("/tmp/bunker_green_2.png", green_squares[1])
|
||||
cv2.imwrite("/tmp/bunker_green_3.png", green_squares[2])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
16
tools/generate/field.py
Normal file
16
tools/generate/field.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import numpy as np
|
||||
import cv2
|
||||
import shenzhen_solitaire.card_detection.configuration as configuration
|
||||
|
||||
|
||||
def main() -> None:
|
||||
"""Generate a configuration"""
|
||||
image = cv2.imread("pictures/20190809172213_1.jpg")
|
||||
|
||||
generated_config = configuration.generate(image)
|
||||
configuration.save(generated_config, "test_config.zip")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
33
tools/generate/goal.py
Normal file
33
tools/generate/goal.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import copy
|
||||
import dataclasses
|
||||
import json
|
||||
|
||||
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"""
|
||||
image = cv2.imread("pictures/specific/BaiShiny.jpg")
|
||||
|
||||
goal_adjustment = adjustment.adjust_squares(
|
||||
image, count_x=3, count_y=1, adjustment=adjustment.Adjustment(**{"x": 1490, "y": 310, "w": 19, "h": 21, "dx": 152, "dy": 0})
|
||||
)
|
||||
print(json.dumps(dataclasses.asdict(goal_adjustment)))
|
||||
|
||||
green_image = cv2.imread("pictures/20190809172213_1.jpg")
|
||||
green_squares = card_finder.get_field_squares(
|
||||
green_image, count_x=1, count_y=3, adjustment=copy.deepcopy(goal_adjustment)
|
||||
)
|
||||
|
||||
cv2.imwrite("/tmp/goal_green_1.png", green_squares[0])
|
||||
cv2.imwrite("/tmp/goal_green_2.png", green_squares[1])
|
||||
cv2.imwrite("/tmp/goal_green_3.png", green_squares[2])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
34
tools/generate/hua.py
Normal file
34
tools/generate/hua.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import copy
|
||||
import dataclasses
|
||||
import json
|
||||
|
||||
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"""
|
||||
image = cv2.imread("pictures/specific/BunkerCards.jpg")
|
||||
|
||||
hua_adjustment = adjustment.adjust_squares(
|
||||
image,
|
||||
count_x=1,
|
||||
count_y=1,
|
||||
adjustment=adjustment.Adjustment(
|
||||
**{"x": 1299, "y": 314, "w": 19, "h": 21, "dx": 0, "dy": 0}
|
||||
),
|
||||
)
|
||||
print(json.dumps(dataclasses.asdict(hua_adjustment)))
|
||||
green_image = cv2.imread("pictures/specific/ZhongShiny.jpg")
|
||||
hua_green = card_finder.get_field_squares(
|
||||
green_image, hua_adjustment, count_x=1, count_y=1
|
||||
)
|
||||
cv2.imwrite("/tmp/hua_green.png", hua_green[0])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
59
tools/generate/special_buttons.py
Normal file
59
tools/generate/special_buttons.py
Normal file
@@ -0,0 +1,59 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user