Beaglebone: Video Capture and Image Processing on Embedded Linux using OpenCV

Поділитися
Вставка
  • Опубліковано 7 лис 2024

КОМЕНТАРІ • 138

  • @Aemilindore
    @Aemilindore 7 років тому

    I watched your videos when I was starting off with embedded linux. You inspired me a lot. Now I look back. Each time I learn so many new things.

  • @tcbetka
    @tcbetka 11 років тому +1

    What a fantastic device... I bought the earlier one (white PCB) after seeing your first videos last year, and I really need to get back to that thing. Your tutorials/demonstrations are INCREDIBLE Derek. Thank you so much for taking the time to make these tremendous gifts.

  • @carterhenderson4472
    @carterhenderson4472 11 років тому

    I've watched a lot of your videos on the beaglebone, and I was very new to linux. Your videos have been extremely helpful in making me not so new and I just wanted to thank you for that.

  • @dr.nitinkothari4426
    @dr.nitinkothari4426 2 роки тому

    Hi Derek, congrats for this great video. I love to keep watching your video tutorials

  • @HopWorksET
    @HopWorksET 10 років тому +8

    Hi Derek, awesome tutorial and wanted to thank you for the outstanding offering. I wanted to add for the sake of Debian users is that I had to install v4l-utils using apt-get install and when I used the command v4l2-ctrl --all, it does not list the adjustable settings (ctrls?). I have to use the command v4l2-ctrl --list-ctrls and then I can see those settings. I noticed that the ctrls settings showed when you used the --all parameter which did not happen for me. Again, just adding this for Debian users.
    Thanks again Derek for everything you do!!

  • @efox29
    @efox29 11 років тому

    One of my favorite UA-cam educators. Fantastic Video. Clear, accurate, well done in every regard.

  • @evmaciel
    @evmaciel 10 років тому +2

    Great tutorial, Derek. It runs perfectly from start to end. Congrat. And thank you.

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому +1

    Thanks Balen, On the C920 - yes, you are right I checked the price in USD - however, if you are buying it outside the US, shop around (e.g. Amazon(UK) are selling it for £63.40 (~€75) inc. VAT and shipping).

  • @Cairdlogic-RealityGuitar
    @Cairdlogic-RealityGuitar 11 років тому

    Hi Derek, greetings from Cork, your videos are an excellent resource, well done. I did some oven CV on my iPhone app and I'm thinking of using the BBB as the heart of a hardware product, I hope your videos will keep my learning curve on track. Cheers!

  • @zoom2broom2
    @zoom2broom2 11 років тому

    Big thanks Derek for the excellent tutorial video! I was able to plug in the Logitech notebook pro webcam and run most of the sample on the BBB successfully.

  • @PauloSoaresPerfil
    @PauloSoaresPerfil 11 років тому

    Derek, your videos are wonderful. This, in special, is fantastic. I don't speak english very well, but the I can understand your explanation in this video. The UK subtitles was very helpful for me. Thanks!

  • @bputubebp
    @bputubebp 11 років тому

    Many thanks for the video Derek! This made getting up and running with video capture super easy while at the same time introducing the basic concepts. You #1.

  • @aintnobiscuit
    @aintnobiscuit 11 років тому

    Great video, I stumbled across this accidentally and it's exactly the kind of proof of concept I was looking for with the beagle bone! Thanks!

  • @TheHunterhal
    @TheHunterhal 11 років тому

    Derek you are great man i was desperately searching for tutorial and find you i m gonna subscribe, watch and like all you videos

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Thanks. Yes, it has been on my mind... I hope it will be my next video in the series. However, I haven't found an easy way to explain it yet! It's a difficult topic that as far as I can see involves building the kernel just to get started... I will have blog posts on the topic soon.

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Good question - It should be fine for this example as the current is fairly low. I'm not sure about the second part of your question though. You can actually communicate to the power controller (tps65217c) over I2C and set values; however, I think that the trip point is set to 1.3A for USB power - can you get to 2A - I don't know!

  • @HobbyBots
    @HobbyBots 11 років тому

    I just received the new Beaglebone Black book, "Bad to the Bone" by Stephen F. Barrett and Jason Kridner, and I noticed your name in the acknowledgments. Didn't know if you knew. Congratulations! Highly recommended book by the way, lots of good stuff in there on both Beagles.

  • @EduardoRosarioRX
    @EduardoRosarioRX 11 років тому +1

    Fantastic video Derek! Thank you very much for sharing. :)

  • @hocinelrb1581
    @hocinelrb1581 3 роки тому

    Thank you soooo much mr Derek I want to. Try this and to open my eyes to robotic and video processing and so then I have a question do you think I can do this with a microscope caméra ? Or do I have to setup an autofocus before ?

  • @HobbyBots
    @HobbyBots 11 років тому

    Great video, I have been waiting for information on implementing hardware with the 3.8 kernel. I really hope you do some more videos on the Beaglebone Black highlighting how to set pinmodes and generally get around with the devicetree overlay in C/C++. I've seen all of your Beaglebone White videos love your stuff.
    Keep up the great work!

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Hi, it is the latest Angstrom distribution from the beaglebone website.

  • @ДанилБукреев-ц5я
    @ДанилБукреев-ц5я 4 роки тому

    Hi Derek,thank you very much for your work.
    Сan you tell me, please, if we need to connect 4 cameras, what is the best way to do this?

  • @canbu7121
    @canbu7121 10 років тому

    Hi,
    Appreciate your very informative videos on Linux and Beagleboard.
    In this video you are compiling OpenCV programs files with Beagleboard's built-in compiler tools and they work ok for simple programs.
    While trying to do remote debugging and larger development of OpenCV programs (with Ubuntu on PC) I got into many cross-compiling issues. Appreciate if you could share your experiences on these nagging issues in these developments using Linux and Beagleboard (assuming that all the cross-compilation tools for ARM are properly set in place) :
    The scenario is as follows :
    Compile and build OpenCV programs for ARM on Eclipse running under Ubuntu (on PC). Let's assume that all the ARM tool chain paths are properly configured.
    Download the built image to Beagleboard and remotely run and debug the code running on Beagleboard from Eclipse on PC.
    Issues that need to be addressed are :
    How do you build and deploy on to Beagleboard all the OpenCV's shared libraries (.so files).
    I tried static builds and deploy them but it doe n't work as these tools spit out plenty of errors.
    Is there a better way to build and link all these OpenCV modules so that one can deploy the built image on to Beagleboard and remotely debug them.(as you may agree Remote debugging is very important for larger and complex program development). There are no solutions in sight for these from OpenCV community.
    I know these are very complex issues not easily handled by these bits and pieces tools where one is left with practically no support or even proper documentation.
    Thanks in advance.
    anbu

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Thanks. Yes, it is a great book - highly recommended! I helped Steve and Jason with a review of the text on an early draft.

  • @hiawoood
    @hiawoood 11 років тому

    Seriously, excellent tutorial.

  • @djivesp
    @djivesp 10 років тому

    Hi Derek, your videos are great, thank you for taking your time to create them and share them! I'm really new to embedded computing and the BBB, and have a question - is the device capable of booting quickly (5s or less) to a simple linux in order to display some GUI-type sensor info using the display cape? I'm looking into building a vehicle digi-dash type unit.

  • @bhagwanholkar2548
    @bhagwanholkar2548 11 років тому

    i was searching for this only;thak you

  • @joao5000
    @joao5000 11 років тому

    Hey Derek, thanks for this video!

  • @tejonBiker
    @tejonBiker 11 років тому

    Congratulations for this video, manage this types of devices are a nightmare in Linux enviroments, specially when no official software exist for him, I will try to test in a Raspberry Pi, I don't discard the posibility of buy a Beagle Board :D

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    There is definitely GPU acceleration in the cloud9-gnome release for the Beaglebone White (you can see the gnome apps working with h/w acceleration in my QT LCD video 1); however, I haven't tried to work with any type of on-board visualization yet.

  • @qzorn4440
    @qzorn4440 9 років тому

    Dear Sir, what do you think about BBB, OpenCV, embedded Simple CV, and embedded QT cross compiler. Thank you and keep up the wonderful work!

  • @supermanqwer
    @supermanqwer 11 років тому

    Awesome video. I noticed the converted video is played faster than what was captured. Is there a way to solve this problem?

  • @TheVodkabo
    @TheVodkabo 9 років тому

    Excuse me, i´m trying to do a proyect by my self in which I has to send data in current time from my BeagleBone Black to my Android cellphone. Just like a simple aplication. Can you tell me how do you do? I am not asking to you for the code, just some references or information about making the connection betwen the two devices. Thanks c: and amazing work!!!

  • @zek_de_ed6389
    @zek_de_ed6389 3 місяці тому

    Hi Derek, how did you compile opencv for beaglebone. Can you explain this process as a short. For example -D CMAKE_TOOLCHAIN_FILE= ? what this flag should be? I download beaglebone toolchain

  • @draneth1792
    @draneth1792 11 років тому

    Amazing video, very thorough

  • @superxingzheng
    @superxingzheng 11 років тому

    Thanks! I am downloading it and will try it tomorrow.

  • @limitznl
    @limitznl 11 років тому

    I used the csete/bonecam code as inspiration too, and now have dual C920's streaming via RTSP on a pandaboard. I am not using shell scripts, but rather implemented it in C and added proper properties for width/height/fps etc. Free to use ofcourse: github.com/limitz/PB_C920/tree/master/rtsp

  • @victortarsus2555
    @victortarsus2555 7 років тому

    That is one sweet aquarium you got there friend:)

  • @tonmoyroy7145
    @tonmoyroy7145 8 років тому

    Hi Derek, could you please tell me if you're using VirtualBox in Windows system or did you install a standalone Ubuntu system? I am having issues with getting USB connection with VirtualBox.

  • @yihtangyeo2756
    @yihtangyeo2756 11 років тому

    Hi Derek, first of all, thanks for the great tutorial. A question about openCV though. If I am to write my own code while using the openCV library, isn't 2GB on Beaglebone is insufficient to download, compile, and install the entire library?

  • @edumiya47able
    @edumiya47able 11 років тому

    Hi Derek, thanks for the video!
    I have a question: Can I use a tablet charger that has 5V 2A output to power the BBB through miniUSB instead of the barrel jack? Can the mini USB provide the same power as a barrel jack? Thanks and sorry for my bad english :)

  • @ceyhanileri4537
    @ceyhanileri4537 10 років тому

    Hi Derek, thanks for all tutorials first of all.
    I'm wondering is it possible to cross compile an OpenCV project on Eclipse IDE. I've tried for a couple of times but i couldn't succeed.

  • @muhdazrinyusof6276
    @muhdazrinyusof6276 8 років тому

    hi derek, i have a problem in choosing the camera for my final year project. im not sure the webcam c920e is suitable for detecting the moving object using the algorithm. is that logictech webcam is compatible with opencv ?

  • @Chr0nalis
    @Chr0nalis 10 років тому

    If you are not using a camera which has the h264 format then you want to edit the
    raw2mpeg4 script. You can do it with nano program and replace the h264 with MJPEG .
    I finally got a video working with the MJPEG compression but for some reason the YUYV gives me a selection timeout error.

    • @flexsonnychronicles6548
      @flexsonnychronicles6548 10 років тому

      Can you please shine some light on how you do this? My email is vivalajustin@gmail.com. I have a project for school due in 3 weeks and I am stuck on the video portion. I got the image grabber to work but the camera I have is the version below the one in the video and doesnt have the H264 format.

    • @FabioBusignani
      @FabioBusignani 9 років тому

      thanks!!

  • @JanHorcicka
    @JanHorcicka 11 років тому

    Thank you Derek :) Very good video.

  • @PaulBeaudet
    @PaulBeaudet 9 років тому

    First of all: great tutorial thumbs up. Only way I know know to get 30fps out of the c920 in linux. And quite frankly as far as I willing to go in finding ways to do it, going to return the c920. It seems at the end of the day h264 1080.30 capture is irrelevant to practical CV when it can take in the order of hundreds of milliseconds to process a low res frame depending on the hardware. I commend Derek in his effort to get this working working to its full capability, but I question why. When does h264 1080.30fps become practical in a CV situation?

    • @igor_misic
      @igor_misic 9 років тому

      "When does h264 1080.30fps become practical in a CV situation?"
      When you want to stream full HD with minimum latency and image processing capability on client side.

  • @JustinSwinney
    @JustinSwinney 10 років тому +1

    Im using Windows with this tutorial and while im in the dev folder and type v4l2 and any of the other options it spits out an error that the command isnt available. Do I need to install certain drivers? I ran this tutorial at a school windows computer and it worked fine but not when I used the windows computer at my house. Should I use linux instead? I need help asap please

  • @superxingzheng
    @superxingzheng 11 років тому

    Hi Derek, could you please provide the link for the ubuntu image you are using in this video? I am trying to look for a ubuntu image with pre-installed opencv libraries.

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    I'm not sure why. If it is the same camera that's not something I saw at all. I hadn't recorded more than a minute or two of video...

  • @souslicer
    @souslicer 10 років тому

    this is cool and all and teaches you how to control the parameters of the c920, but if you're looking to do something really basic.
    just install libopencv-dev and install python-opencv
    then just plug your camera in and in python just do
    import cv2
    cam=cv2.VideoCapture(0)
    frame = cam.read()
    that's it

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Thanks. The standard Angstrom image comes complete with everything you need for OpenCV. If you wished to build it yourself I would recommend a cross-compile on your PC (see my blog for info on custom Angstrom builds). At the worst case, if you need to build on the BBB, you could mount a high capacity SD card and use that as the storage space.

  • @limitznl
    @limitznl 11 років тому

    Yes i also have code to display it. I do a lot of work in live streaming and currently working on adding sound (and syncing it to the video). I would suggest using C / GObject style programming in order to use the GStreamer libraries. However I also have C++ code that taps straight into ffmpeg, but this is a lot more work (AV3D project as an example of static video on my github, video.cpp)

  • @naduhl1888
    @naduhl1888 10 років тому

    Hi! I am going with the Logitech C_920 with Fluid Crystal technology and all the other bells and whistles. This will perform much better than the cheapo webcams I have now. Derek, I would like to construct a CMUcam5 Pixy using a Beagle_Bone. Thank you.

  • @madr3563
    @madr3563 2 роки тому

    hi, I wanna ask. Which is better for Computer Vision between BBB and Raspberry Pi 4?

  • @superxingzheng
    @superxingzheng 11 років тому

    Pretty helpful for me. Thanks so much!

  • @rohitk-singh
    @rohitk-singh 11 років тому

    Excellent tutorial! Thanks soo much!

  • @Knightsthatsaynih
    @Knightsthatsaynih 10 років тому +1

    Beaglebone black or raspberry pi? Which is better for image processing and why?

    • @ivane.giorgirodriguez4952
      @ivane.giorgirodriguez4952 10 років тому

      PandaBoard is better than both. It is especially designed for video and image processing in real time.

  • @MonzDaily
    @MonzDaily 8 років тому

    this video soo interested.. i want to try based with video,, but can i ask something? i want use linux and openCV,, but i dont know about linux series and openCV series.. can you tell me about your application series?

  • @cedivad
    @cedivad 11 років тому

    Hi, i read online that the C920 hardware-compressed h264 output bitrate is always 3.1Mbit/s, independently from the resolution. Eg, it's a 3.1Mb/s stream at Full HD and at 320x240. Can you confirm me this? I would like to purchase the camera if untrue.
    Thanks.

  • @musicmotom
    @musicmotom 11 років тому

    Thanks a lot! really a good video. Just in time.

  • @jaumm84
    @jaumm84 11 років тому

    Great tutorial! Congrats!

  • @RoboticGeneration
    @RoboticGeneration 11 років тому

    Thanks for this Video :D
    I love your awesome voice.
    Greatings from Germany and thanks for speaking slow and clearly

  • @jamr2575
    @jamr2575 11 років тому

    Can we get the bbb to report its own power consumption during a capture process. I'd think its possible to use a portable power charger plus solar panel to put this outside, or is a multimeter/mains plug the only way.

  • @draneth1792
    @draneth1792 11 років тому

    Hey derek I've been going over your video and I keep running into a problem whenever I capture video. When I run the capture program from around the 16 minute mark I get pauses when capturing video. When i run raw2mpg4 I get the error: [h264 @ 0x37a20] missing picture in access unit
    output.raw: could not find codec parameters
    Any idea what I missed?

  • @yanlongmu1689
    @yanlongmu1689 11 років тому

    Hello Mr Derek
    I am students and choose a project about beaglebone streaming video with Beaglebone. This Video is really useful for me.
    However, I would like to do more work on it. Similar like The robot arm assistant 'dummy'. I confused few questions on it. Can we use Automatic Speech Recognition system with Beaglebone to control the Robot arm?
    and this web camera can recieve the voice as well?
    If you time are free in your spare time, can I contact with you?
    Thank you

  • @raymondklucik
    @raymondklucik 9 років тому

    It appears OpenCV can be installed on Debain Linux as well and isn't restricted to Angstrom distributions. This is awesome mostly because I have no experience with Angstrom.

  • @hiphop12ism
    @hiphop12ism 7 років тому

    Can it be a complete alternative for raspberry pi

  • @mauricio7954
    @mauricio7954 10 років тому

    I get "Failed to open /dev/video0: Resource temporarily unavailable" when I try the command "v4l2-ctl --all"
    The C920 is on video3.
    I really don't know what the issue is and it's hard to find any information on it.
    Any help will be appreciated, Thank You.

  • @dubnitsky
    @dubnitsky 10 років тому

    Thanks for the great educating job done, awesome!
    trying to set video format resolution to 1920*1080 as described at 9:19,
    for some reason only 1280*720 is set after scilent execution of the command

  • @ashritsai3744
    @ashritsai3744 10 років тому +2

    Great tutorial keep up the good work

  • @bennguyen1313
    @bennguyen1313 8 років тому

    On a stock Beaglebone black 4.4.9-ti-r25 (debian 8.4), I installed the libv4l-dev (due to the No package 'libv4l2' found), however is it normal during the building of the opencv example, to report lots of warnings about undefined references (lame_*)? It finishes with 'collect2: error: ld returned 1 exit status'.
    The problem above appears with compiling boneCV.cpp:
    g++ -O2 'pkg-config --cflags --libs opencv' boneCV.cpp -o boneCV this returns:
    g++: error: pkg-config --cflags --libs opencv: No such file or directory
    The Video4Linux frame capture program, and capture example program build with no errors.

  • @KaramAbuGhalieh
    @KaramAbuGhalieh 11 років тому +2

    hi , your site will be my guide through my project

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Thanks everyone for the positive feedback!

  • @abrihanbachtiarsamudra8635
    @abrihanbachtiarsamudra8635 5 років тому

    hello derek, how to check IP of BBB ??? in this video you use 192.168.1.121 is the BBB IP. but i dont know in my PC that is my BBB IP too or not.

  • @astarothgr
    @astarothgr 11 років тому

    install the v4l-utils package on your system.
    On a Debian-based system (this includes Ubuntu) it should be something like:
    sudo apt-get install v4l-utils
    typed in a terminal. Cheers.

  • @crazytrinibago
    @crazytrinibago 10 років тому

    can you connect a IP camera directly to beaglebone and capture video/images under linux?

  • @crazytrinibago
    @crazytrinibago 11 років тому

    Hi, Im thinking about opencv image processing for a canon eos 5d camera (or some other high end dslr camera) for uav, real time aerial image processing. can u point me in the right direction, what board do i use that has good interfaces(camera interfaces definitely), drivers, processing power & easy to learn. the board will be interfaced to a canon camera and and ardupilot autopilot board. the image processing code is pretty demanding machine learning.

  • @irammehboob7319
    @irammehboob7319 8 років тому

    plz tell me which standard api embedded with android studio for real time object detection...????

  • @JeroxB
    @JeroxB 10 років тому

    Is it possible to use desktop linux distros with the Beaglebone?
    I'd love to run Crunchbang on it.

  • @REFPLAY
    @REFPLAY 8 років тому +1

    Jó kamera, ezért csináltuk mi is videót róla :) /Üdv, Sarkadi Roland

  • @1234thrashmetal
    @1234thrashmetal 6 років тому

    hello, what happens if I do not connect a camera for usb if not in the ports of i2c and spi, how can I use openCV?

  • @Santhanam999mba
    @Santhanam999mba 7 років тому

    Can we stream over net and login from elsewhere to view video live?

  • @pormeny
    @pormeny 11 років тому

    whenever I click on v4l2, it says: command not found, can I get any help to make this work?

  • @juliomota13
    @juliomota13 11 років тому

    can i track objects whith this board?

  • @bboypenspinning
    @bboypenspinning 10 років тому

    can i do it with intel Galileo ?

  • @rickharms1
    @rickharms1 10 років тому

    My beaglebone black has Debian. I have tried "apt-get install libv4l-utils" but it cannot locate the package. ???? Is there a repository I need to point to? How?

  • @duydo46
    @duydo46 10 років тому

    Hi, I got stuck after execute capture. It took about 10 dots/frames then it froze.
    I had to reset the bone :(

  • @FrankLopezx
    @FrankLopezx 9 років тому

    in C# ? for visual studio and arduino?

  • @praneethchowdary3337
    @praneethchowdary3337 7 років тому

    i want to do a project to extract the text from images, and pdf files, can this board is helpful for me

  • @franklister4154
    @franklister4154 10 років тому

    trying to run gcc -O2 -Wall `pkg-config --cflags --libs libv4l2` capture.c -o capture getting error: Package libv4l2 was not found in the pkg-config search path.
    What did I miss?

    • @ashritsai3744
      @ashritsai3744 10 років тому +1

      hi,
      I got the same error while I was working with ubuntu on beaglebone black, first you got to install libv4l2, I used the command sudo apt-get install ivtv-utils then I ran the command gcc capture.c -lv4l2 -o capture

  • @vevin1986
    @vevin1986 11 років тому

    Love you!!

  • @girayyillikci3188
    @girayyillikci3188 10 років тому

    Thanks Professor

  • @akhilsaimanoj9674
    @akhilsaimanoj9674 4 роки тому

    Could anyone plz suggest me the best night vision camera which is supported by beagle bone black or ai

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Love you too mom! ;-)

  • @TheDanielmeltzer
    @TheDanielmeltzer 11 років тому

    the rassbery pi has a better gpu than the beagle bone black why didn't you use it?

  • @ToxicHoneyBadger
    @ToxicHoneyBadger 11 років тому

    I am having trouble with running grabber.c. When using the follow command:
    gcc -02 -Wall 'pkg-config --cflags --libs libv4l2" grabber.c -o grabber
    My Terminal:
    ubuntu@ubuntu-armhf:~/boneCV$ gcc -O2 -Wall `pkg-config --cflags --libs libv4l2` grabber.c -o grabber
    Package libv4l2 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libv4l2.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libv4l2' found
    grabber.c:27:21: fatal error: libv4l2.h: No such file or directory
    compilation terminated.
    How do I get the libv4l2 package and add to the PKG_CONFIG_PATH?

    • @esafonov
      @esafonov 10 років тому +1

      apt-get install libv4l-dev

    • @fazil_8298
      @fazil_8298 9 років тому

      Evgueni Safonov Thanks.

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 років тому

    Thanks for the feedback limitznl. I have just posted on streaming video using RTP, UDP and UDP multicasting on my blog at derekmolloy.ie I will have to look into your code as it would be really nice to remove the piping and would give greater control. I am currently investigating playing the video using custom C++ code... did you have any luck in that? It would be really nice to have an end-to-end video server/client for streaming data for robotics applications (inc. stereo).

  • @vabgat1
    @vabgat1 2 роки тому

    After running ./capture -c 600 -o > output.raw
    getting output as :
    Force Format 0
    select timeout
    No capturing happens

  • @StreetArtist360
    @StreetArtist360 10 років тому

    So cool.

  • @vevin1986
    @vevin1986 11 років тому

    Of Course that kind of love ;)