In this paper, we consider the joint opportunistic routing and channel assignment problem in multi-channel multi-radio (MCMR) cognitive radio networks (CRNs) for improving aggregate throughput of the secondary users. We first present the nonlinear programming optimization model for this joint problem, taking into account the feature of CRNs-channel uncertainty. Then considering the queue state of a node, we propose a new scheme to select proper forwarding candidates for opportunistic routing. Furthermore, a new algorithm for calculating the forwarding probability of any packet at a node is proposed, which is used to calculate how many packets a forwarder should send, so that the duplicate transmission can be reduced compared with MAC-independent opportunistic routing & encoding (MORE) . Our numerical results show that the proposed scheme performs significantly better that traditional routing and opportunistic routing in which channel assignment strategy is employed.