为了账号安全,请及时绑定邮箱和手机立即绑定

如何在搜索视图中设置多个按钮?

如何在搜索视图中设置多个按钮?

Go
慕哥6287543 2022-12-21 10:53:41
实际上我想制作一个操作栏,当我添加下拉菜单时,其中应该有下拉菜单、搜索选项、菜单选项和另一个图标,搜索栏不在完整的操作栏上。当我单击搜索图标时,搜索视图应该在完整的操作栏上,但只有一半被下拉菜单覆盖这是java代码@Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.mainpage, menu);        getMenuInflater().inflate(R.menu.android_action_bar_spinner_menu, menu);        MenuItem item = menu.findItem(R.id.spinner);        Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,                R.array.dropdown, android.R.layout.simple_spinner_item);        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        spinner.setAdapter(adapter);        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_search, menu);        MenuItem search_item = menu.findItem(R.id.mi_search);        SearchView searchView = (SearchView) search_item.getActionView();        searchView.setFocusable(false);        searchView.setQueryHint("Search");        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {            @Override            public boolean onQueryTextSubmit(String s) {                //clear the previous data in search arraylist if exist                Toast.makeText(MainpageActivity.this, s, Toast.LENGTH_SHORT).show();                     return false;            }            @Override            public boolean onQueryTextChange(String s) {                Toast.makeText(MainpageActivity.this, s, Toast.LENGTH_SHORT).show();                return false;            }        });        return true;    }
查看完整描述

4 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

这是从网络摄像头捕获图像的示例。这是更新的、面向对象的、整合的 OpenCV 2 Python API。


import cv2


# Camera 0 is your port number 

camera_port = 0


#Number of frames to throw away while the camera adjusts to light levels

ramp_frames = 30


# Initialize cam with port

camera = cv2.VideoCapture(camera_port)


# Captures a single image & returns  in PIL format

def get_image():


# read full image out of a VideoCapture object.

retval, im = camera.read()

return im


# Ramp the camera - these frames will be discarded and are only used to allow v4l2

for i in xrange(ramp_frames):

temp = get_image()

print("Taking image...")


# Take the actual image we want to keep

camera_capture = get_image()

file = "/home/codeplasma/test_image.png"


# correct format based on the file extension you provide. Convenient!

cv2.imwrite(file, camera_capture)


# capture object until your script exits

del(camera)


查看完整回答
反对 回复 2022-12-21
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

也许,您应该阅读官方文档。你试试这段代码。祝你好运!


import cv2


cap = cv2.VideoCapture(0)


while(True):

    # Capture frame-by-frame

    ret, frame = cap.read()


    # Display the resulting frame

    cv2.imshow('frame',frame)

    cv2.imread('./your-dir/image.png', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):

        break


# When everything done, release the capture

cap.release()

cv2.destroyAllWindows()


查看完整回答
反对 回复 2022-12-21
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

import numpy as np

import cv2


cap = cv2.VideoCapture(0)


while(True):

     # Capture frame-by-frame

     ret, frame = cap.read()


# Our operations on the frame come here

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)


# Display the resulting frame

cv2.imshow('frame',gray)

#this line save your image into Dir

cv2.imwrite("you dir path eg. C:\", img)

if cv2.waitKey(1) & 0xFF == ord('q'):

    break


# When everything done, release the capture

cap.release()

cv2.destroyAllWindows()


查看完整回答
反对 回复 2022-12-21
?
当年话下

TA贡献1890条经验 获得超9个赞

首先尝试像管理员一样运行 python 的 shell/console 来执行脚本:这段代码应该运行良好:


import cv2 #to take photos or pre-process it with some computer vision technique

import os #to save images at any path i.g E:/myfolder/images/

import argparse #to receive parameters in the console

#Open the camera:

cam = cv2.VideoCapture(0)



ap = argparse.ArgumentParser()

ap.add_argument("-c", "--quantity", required=True, help="Set the quantity of images that you want to take p. ej. 350")

args = vars(ap.parse_args())


#set path where we are going to save the image.

outDirectory = "E:/alxor/"


def takePhoto(number):

    if cam.isOpened():

        print("Camera opened successfully!")

        #Get one image:

        ret, frame = cam.read()

        name = "image_"+str(number)+".jpg"

        print(name)

        cv2.imwrite(os.path.join(outDirectory, name), frame)

    else:

        print("[INFO] Can not open the camera :(")

c = int(args["quantity"])

j = 1

while j <= c: #introduciendo 's' salimos del bucle


    print ("[INFO] WRITE 's' TO EXIT: ")

    print ("[INFO] WRITE 'c' TO TAKE A PHOTO ")

    user_input = input() #leer entrada

    if user_input is 'c':


        takePhoto(j)

        print("[INFO] IMAGE #"+str(j)+" SAVED...")


    if user_input is 's':

        break

        print("[INFO] THE PROGRAM HAS FINISHED..")

    j+=1


#Turn off the camera..

cam.release()

print("[INFO] THE PROGRAM HAS FINISHED..")

更新 1. 使用 os 库将图像保存在所需路径中。更新 2. 拍摄 n 张图像的选项我也在 github 中留下了这段代码: 代码


查看完整回答
反对 回复 2022-12-21
  • 4 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号