Using OpenCV in RLlib makes it much harder to install it because of the system dependencies e.g. libGL or issues with ffmpeg and libopenh264.
OpenCV is used only in a handful of places (see Search · cv2 · GitHub) for simple image transforms, but it makes setup much more tedious. Scikit-image is also better maintained, so it might be a better alternative for the future.
1 Like
Great point, thanks for the hint. Will take a look.
Hey @vakker00 , would love to do a PR for this, but could you send me the actual code-replacements for those few (2) occurences of cv2?
In particular:
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
frame = cv2.resize(
frame, (self.width, self.height), interpolation=cv2.INTER_AREA)
and
img = cv2.imread(img_file).astype(np.float32)
Thanks!!
Thanks @sven1977 for looking into this.
I think the following is equivalent:
from skimage import transform, color
frame = color.rgb2gray(frame)
frame = transform.resize(frame, (self.height, self.width))
and
from skimage import io
img = io.imread(img_file).astype(np.float32)
but keep in mind that CV2 loads images BGR by default, not RGB.
Currently the imread
is in a test, so it doesn’t really matter how the image looks.
1 Like
Hi @sven1977
Do you have an update on this issue?
I would be happy to open a PR for this if that helps.
Thanks!
Edit: see CV2 to Skimage change by vakker · Pull Request #16841 · ray-project/ray · GitHub