@suzuta084

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

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

No Answers yet.

Your answer might help someone💌