PythonコードをiOS用にビルドしたい
解決したいこと
①デスクトップに「kivy」というフォルダを作成
②「kivy」フォルダ内に
「camera_001」というフォルダを作成し、
その中にPythonコードを作成。
③ターミナルにて「toolchain create camera_001 camera_001」
を実行し、「camera_001-ios」フォルダを作成
④camera_001.xcodeprojをXcodeで実行するとエラーが発生する。
発生している問題・エラー
"/Users/name/Desktop/kivy/camera_001-ios/YourApp/main.py", line 6, in <module>
ModuleNotFoundError: No module named 'cv2'
該当するソースコード
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.image import Image
from kivy.graphics.texture import Texture
from kivy.clock import Clock
import cv2
from kivy.uix.behaviors import ButtonBehavior
from kivy.properties import ObjectProperty
class MainScreen(Widget):
pass
class MyCameraApp(App):
def build(self):
return MainScreen()
class CameraPreview(Image):
def __init__(self,**kwargs):
super(CameraPreview,self).__init__(**kwargs)
self.capteru = cv2.VideoCapture(0)
Clock.schedule_interval(self.update, 1.0 / 30)
def update(self,dt):
ret, self.frame = self.capteru.read()
buf = cv2.flip(self.frame,0).tostring()
texture = Texture.create(size =(self.frame.shape[1],self.frame.shape[0]),colorfmt = "bgr")
texture.blit_buffer(buf, colorfmt="bgr",bufferfmt="ubyte")
self.texture = texture
class ImageButton(ButtonBehavior,Image):
preview = ObjectProperty(None)
def on_press(self):
cv2.namedWindow("CV2 Image")
cv2.imshow("CV2 Image",self.preview.frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
MyCameraApp().run()
自分で試したこと
https://opencv.org/releases/
よりopencv2.frameworkをインストールし、
「Build Phases」の「Link Binary With Libraries」
へ追加したが、
→Showing Recent Errors Only
26 duplicate symbols for architecture x86_64
というエラーが出る。
(kivyのライブラリとopencv2.frameworkのシンボルが干渉してしまう)
0 likes